AWS SDK for C++

AWS SDK for C++ Version 1.11.832

Loading...
Searching...
No Matches
CalculateRouteMatrixRequest.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/RouteMatrixAllowOptions.h>
12#include <aws/geo-routes/model/RouteMatrixAvoidanceOptions.h>
13#include <aws/geo-routes/model/RouteMatrixBoundary.h>
14#include <aws/geo-routes/model/RouteMatrixDestination.h>
15#include <aws/geo-routes/model/RouteMatrixExclusionOptions.h>
16#include <aws/geo-routes/model/RouteMatrixOrigin.h>
17#include <aws/geo-routes/model/RouteMatrixTrafficOptions.h>
18#include <aws/geo-routes/model/RouteMatrixTravelMode.h>
19#include <aws/geo-routes/model/RouteMatrixTravelModeOptions.h>
20#include <aws/geo-routes/model/RoutingObjective.h>
21
22#include <utility>
23
24namespace Aws {
25namespace Http {
26class URI;
27} // namespace Http
28namespace GeoRoutes {
29namespace Model {
30
34 public:
35 AWS_GEOROUTES_API CalculateRouteMatrixRequest() = 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 "CalculateRouteMatrix"; }
42
43 AWS_GEOROUTES_API Aws::String SerializePayload() const override;
44
45 AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
46
48
51 inline const RouteMatrixAllowOptions& GetAllow() const { return m_allow; }
52 inline bool AllowHasBeenSet() const { return m_allowHasBeenSet; }
53 template <typename AllowT = RouteMatrixAllowOptions>
54 void SetAllow(AllowT&& value) {
55 m_allowHasBeenSet = true;
56 m_allow = std::forward<AllowT>(value);
57 }
58 template <typename AllowT = RouteMatrixAllowOptions>
60 SetAllow(std::forward<AllowT>(value));
61 return *this;
62 }
64
66
76 inline const RouteMatrixAvoidanceOptions& GetAvoid() const { return m_avoid; }
77 inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; }
78 template <typename AvoidT = RouteMatrixAvoidanceOptions>
79 void SetAvoid(AvoidT&& value) {
80 m_avoidHasBeenSet = true;
81 m_avoid = std::forward<AvoidT>(value);
82 }
83 template <typename AvoidT = RouteMatrixAvoidanceOptions>
85 SetAvoid(std::forward<AvoidT>(value));
86 return *this;
87 }
89
91
94 inline bool GetDepartNow() const { return m_departNow; }
95 inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; }
96 inline void SetDepartNow(bool value) {
97 m_departNowHasBeenSet = true;
98 m_departNow = value;
99 }
101 SetDepartNow(value);
102 return *this;
103 }
105
107
113 inline const Aws::String& GetDepartureTime() const { return m_departureTime; }
114 inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; }
115 template <typename DepartureTimeT = Aws::String>
116 void SetDepartureTime(DepartureTimeT&& value) {
117 m_departureTimeHasBeenSet = true;
118 m_departureTime = std::forward<DepartureTimeT>(value);
119 }
120 template <typename DepartureTimeT = Aws::String>
122 SetDepartureTime(std::forward<DepartureTimeT>(value));
123 return *this;
124 }
126
128
150 inline const Aws::Vector<RouteMatrixDestination>& GetDestinations() const { return m_destinations; }
151 inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; }
152 template <typename DestinationsT = Aws::Vector<RouteMatrixDestination>>
153 void SetDestinations(DestinationsT&& value) {
154 m_destinationsHasBeenSet = true;
155 m_destinations = std::forward<DestinationsT>(value);
156 }
157 template <typename DestinationsT = Aws::Vector<RouteMatrixDestination>>
159 SetDestinations(std::forward<DestinationsT>(value));
160 return *this;
161 }
162 template <typename DestinationsT = RouteMatrixDestination>
164 m_destinationsHasBeenSet = true;
165 m_destinations.emplace_back(std::forward<DestinationsT>(value));
166 return *this;
167 }
169
171
177 inline const RouteMatrixExclusionOptions& GetExclude() const { return m_exclude; }
178 inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; }
179 template <typename ExcludeT = RouteMatrixExclusionOptions>
180 void SetExclude(ExcludeT&& value) {
181 m_excludeHasBeenSet = true;
182 m_exclude = std::forward<ExcludeT>(value);
183 }
184 template <typename ExcludeT = RouteMatrixExclusionOptions>
186 SetExclude(std::forward<ExcludeT>(value));
187 return *this;
188 }
190
192
196 inline const Aws::String& GetKey() const { return m_key; }
197 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
198 template <typename KeyT = Aws::String>
199 void SetKey(KeyT&& value) {
200 m_keyHasBeenSet = true;
201 m_key = std::forward<KeyT>(value);
202 }
203 template <typename KeyT = Aws::String>
205 SetKey(std::forward<KeyT>(value));
206 return *this;
207 }
209
211
217 inline RoutingObjective GetOptimizeRoutingFor() const { return m_optimizeRoutingFor; }
218 inline bool OptimizeRoutingForHasBeenSet() const { return m_optimizeRoutingForHasBeenSet; }
220 m_optimizeRoutingForHasBeenSet = true;
221 m_optimizeRoutingFor = value;
222 }
225 return *this;
226 }
228
230
252 inline const Aws::Vector<RouteMatrixOrigin>& GetOrigins() const { return m_origins; }
253 inline bool OriginsHasBeenSet() const { return m_originsHasBeenSet; }
254 template <typename OriginsT = Aws::Vector<RouteMatrixOrigin>>
255 void SetOrigins(OriginsT&& value) {
256 m_originsHasBeenSet = true;
257 m_origins = std::forward<OriginsT>(value);
258 }
259 template <typename OriginsT = Aws::Vector<RouteMatrixOrigin>>
261 SetOrigins(std::forward<OriginsT>(value));
262 return *this;
263 }
264 template <typename OriginsT = RouteMatrixOrigin>
266 m_originsHasBeenSet = true;
267 m_origins.emplace_back(std::forward<OriginsT>(value));
268 return *this;
269 }
271
273
284 inline const RouteMatrixBoundary& GetRoutingBoundary() const { return m_routingBoundary; }
285 inline bool RoutingBoundaryHasBeenSet() const { return m_routingBoundaryHasBeenSet; }
286 template <typename RoutingBoundaryT = RouteMatrixBoundary>
287 void SetRoutingBoundary(RoutingBoundaryT&& value) {
288 m_routingBoundaryHasBeenSet = true;
289 m_routingBoundary = std::forward<RoutingBoundaryT>(value);
290 }
291 template <typename RoutingBoundaryT = RouteMatrixBoundary>
293 SetRoutingBoundary(std::forward<RoutingBoundaryT>(value));
294 return *this;
295 }
297
299
305 inline const RouteMatrixTrafficOptions& GetTraffic() const { return m_traffic; }
306 inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; }
307 template <typename TrafficT = RouteMatrixTrafficOptions>
308 void SetTraffic(TrafficT&& value) {
309 m_trafficHasBeenSet = true;
310 m_traffic = std::forward<TrafficT>(value);
311 }
312 template <typename TrafficT = RouteMatrixTrafficOptions>
314 SetTraffic(std::forward<TrafficT>(value));
315 return *this;
316 }
318
320
328 inline RouteMatrixTravelMode GetTravelMode() const { return m_travelMode; }
329 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
331 m_travelModeHasBeenSet = true;
332 m_travelMode = value;
333 }
335 SetTravelMode(value);
336 return *this;
337 }
339
341
347 inline const RouteMatrixTravelModeOptions& GetTravelModeOptions() const { return m_travelModeOptions; }
348 inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; }
349 template <typename TravelModeOptionsT = RouteMatrixTravelModeOptions>
350 void SetTravelModeOptions(TravelModeOptionsT&& value) {
351 m_travelModeOptionsHasBeenSet = true;
352 m_travelModeOptions = std::forward<TravelModeOptionsT>(value);
353 }
354 template <typename TravelModeOptionsT = RouteMatrixTravelModeOptions>
356 SetTravelModeOptions(std::forward<TravelModeOptionsT>(value));
357 return *this;
358 }
360 private:
362
364
365 bool m_departNow{false};
366
367 Aws::String m_departureTime;
368
370
371 RouteMatrixExclusionOptions m_exclude;
372
373 Aws::String m_key;
374
375 RoutingObjective m_optimizeRoutingFor{RoutingObjective::NOT_SET};
376
378
379 RouteMatrixBoundary m_routingBoundary;
380
381 RouteMatrixTrafficOptions m_traffic;
382
384
385 RouteMatrixTravelModeOptions m_travelModeOptions;
386 bool m_allowHasBeenSet = false;
387 bool m_avoidHasBeenSet = false;
388 bool m_departNowHasBeenSet = false;
389 bool m_departureTimeHasBeenSet = false;
390 bool m_destinationsHasBeenSet = false;
391 bool m_excludeHasBeenSet = false;
392 bool m_keyHasBeenSet = false;
393 bool m_optimizeRoutingForHasBeenSet = false;
394 bool m_originsHasBeenSet = false;
395 bool m_routingBoundaryHasBeenSet = false;
396 bool m_trafficHasBeenSet = false;
397 bool m_travelModeHasBeenSet = false;
398 bool m_travelModeOptionsHasBeenSet = false;
399};
400
401} // namespace Model
402} // namespace GeoRoutes
403} // namespace Aws
CalculateRouteMatrixRequest & WithDepartNow(bool value)
CalculateRouteMatrixRequest & WithExclude(ExcludeT &&value)
const RouteMatrixExclusionOptions & GetExclude() const
CalculateRouteMatrixRequest & WithTravelModeOptions(TravelModeOptionsT &&value)
CalculateRouteMatrixRequest & AddOrigins(OriginsT &&value)
CalculateRouteMatrixRequest & WithDestinations(DestinationsT &&value)
const Aws::Vector< RouteMatrixDestination > & GetDestinations() const
CalculateRouteMatrixRequest & WithKey(KeyT &&value)
CalculateRouteMatrixRequest & AddDestinations(DestinationsT &&value)
CalculateRouteMatrixRequest & WithTraffic(TrafficT &&value)
virtual const char * GetServiceRequestName() const override
CalculateRouteMatrixRequest & WithAllow(AllowT &&value)
CalculateRouteMatrixRequest & WithDepartureTime(DepartureTimeT &&value)
CalculateRouteMatrixRequest & WithOrigins(OriginsT &&value)
const RouteMatrixAvoidanceOptions & GetAvoid() const
AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
const RouteMatrixTravelModeOptions & GetTravelModeOptions() const
const Aws::Vector< RouteMatrixOrigin > & GetOrigins() const
CalculateRouteMatrixRequest & WithTravelMode(RouteMatrixTravelMode value)
CalculateRouteMatrixRequest & WithOptimizeRoutingFor(RoutingObjective value)
CalculateRouteMatrixRequest & WithAvoid(AvoidT &&value)
CalculateRouteMatrixRequest & WithRoutingBoundary(RoutingBoundaryT &&value)
AWS_GEOROUTES_API CalculateRouteMatrixRequest()=default
AWS_GEOROUTES_API Aws::String SerializePayload() const override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector