AWS SDK for C++

AWS SDK for C++ Version 1.11.742

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
72 inline const RouteMatrixAvoidanceOptions& GetAvoid() const { return m_avoid; }
73 inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; }
74 template <typename AvoidT = RouteMatrixAvoidanceOptions>
75 void SetAvoid(AvoidT&& value) {
76 m_avoidHasBeenSet = true;
77 m_avoid = std::forward<AvoidT>(value);
78 }
79 template <typename AvoidT = RouteMatrixAvoidanceOptions>
81 SetAvoid(std::forward<AvoidT>(value));
82 return *this;
83 }
85
87
90 inline bool GetDepartNow() const { return m_departNow; }
91 inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; }
92 inline void SetDepartNow(bool value) {
93 m_departNowHasBeenSet = true;
94 m_departNow = value;
95 }
97 SetDepartNow(value);
98 return *this;
99 }
101
103
109 inline const Aws::String& GetDepartureTime() const { return m_departureTime; }
110 inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; }
111 template <typename DepartureTimeT = Aws::String>
112 void SetDepartureTime(DepartureTimeT&& value) {
113 m_departureTimeHasBeenSet = true;
114 m_departureTime = std::forward<DepartureTimeT>(value);
115 }
116 template <typename DepartureTimeT = Aws::String>
118 SetDepartureTime(std::forward<DepartureTimeT>(value));
119 return *this;
120 }
122
124
131 inline const Aws::Vector<RouteMatrixDestination>& GetDestinations() const { return m_destinations; }
132 inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; }
133 template <typename DestinationsT = Aws::Vector<RouteMatrixDestination>>
134 void SetDestinations(DestinationsT&& value) {
135 m_destinationsHasBeenSet = true;
136 m_destinations = std::forward<DestinationsT>(value);
137 }
138 template <typename DestinationsT = Aws::Vector<RouteMatrixDestination>>
140 SetDestinations(std::forward<DestinationsT>(value));
141 return *this;
142 }
143 template <typename DestinationsT = RouteMatrixDestination>
145 m_destinationsHasBeenSet = true;
146 m_destinations.emplace_back(std::forward<DestinationsT>(value));
147 return *this;
148 }
150
152
155 inline const RouteMatrixExclusionOptions& GetExclude() const { return m_exclude; }
156 inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; }
157 template <typename ExcludeT = RouteMatrixExclusionOptions>
158 void SetExclude(ExcludeT&& value) {
159 m_excludeHasBeenSet = true;
160 m_exclude = std::forward<ExcludeT>(value);
161 }
162 template <typename ExcludeT = RouteMatrixExclusionOptions>
164 SetExclude(std::forward<ExcludeT>(value));
165 return *this;
166 }
168
170
174 inline const Aws::String& GetKey() const { return m_key; }
175 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
176 template <typename KeyT = Aws::String>
177 void SetKey(KeyT&& value) {
178 m_keyHasBeenSet = true;
179 m_key = std::forward<KeyT>(value);
180 }
181 template <typename KeyT = Aws::String>
183 SetKey(std::forward<KeyT>(value));
184 return *this;
185 }
187
189
193 inline RoutingObjective GetOptimizeRoutingFor() const { return m_optimizeRoutingFor; }
194 inline bool OptimizeRoutingForHasBeenSet() const { return m_optimizeRoutingForHasBeenSet; }
196 m_optimizeRoutingForHasBeenSet = true;
197 m_optimizeRoutingFor = value;
198 }
201 return *this;
202 }
204
206
213 inline const Aws::Vector<RouteMatrixOrigin>& GetOrigins() const { return m_origins; }
214 inline bool OriginsHasBeenSet() const { return m_originsHasBeenSet; }
215 template <typename OriginsT = Aws::Vector<RouteMatrixOrigin>>
216 void SetOrigins(OriginsT&& value) {
217 m_originsHasBeenSet = true;
218 m_origins = std::forward<OriginsT>(value);
219 }
220 template <typename OriginsT = Aws::Vector<RouteMatrixOrigin>>
222 SetOrigins(std::forward<OriginsT>(value));
223 return *this;
224 }
225 template <typename OriginsT = RouteMatrixOrigin>
227 m_originsHasBeenSet = true;
228 m_origins.emplace_back(std::forward<OriginsT>(value));
229 return *this;
230 }
232
234
240 inline const RouteMatrixBoundary& GetRoutingBoundary() const { return m_routingBoundary; }
241 inline bool RoutingBoundaryHasBeenSet() const { return m_routingBoundaryHasBeenSet; }
242 template <typename RoutingBoundaryT = RouteMatrixBoundary>
243 void SetRoutingBoundary(RoutingBoundaryT&& value) {
244 m_routingBoundaryHasBeenSet = true;
245 m_routingBoundary = std::forward<RoutingBoundaryT>(value);
246 }
247 template <typename RoutingBoundaryT = RouteMatrixBoundary>
249 SetRoutingBoundary(std::forward<RoutingBoundaryT>(value));
250 return *this;
251 }
253
255
258 inline const RouteMatrixTrafficOptions& GetTraffic() const { return m_traffic; }
259 inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; }
260 template <typename TrafficT = RouteMatrixTrafficOptions>
261 void SetTraffic(TrafficT&& value) {
262 m_trafficHasBeenSet = true;
263 m_traffic = std::forward<TrafficT>(value);
264 }
265 template <typename TrafficT = RouteMatrixTrafficOptions>
267 SetTraffic(std::forward<TrafficT>(value));
268 return *this;
269 }
271
273
278 inline RouteMatrixTravelMode GetTravelMode() const { return m_travelMode; }
279 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
281 m_travelModeHasBeenSet = true;
282 m_travelMode = value;
283 }
285 SetTravelMode(value);
286 return *this;
287 }
289
291
294 inline const RouteMatrixTravelModeOptions& GetTravelModeOptions() const { return m_travelModeOptions; }
295 inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; }
296 template <typename TravelModeOptionsT = RouteMatrixTravelModeOptions>
297 void SetTravelModeOptions(TravelModeOptionsT&& value) {
298 m_travelModeOptionsHasBeenSet = true;
299 m_travelModeOptions = std::forward<TravelModeOptionsT>(value);
300 }
301 template <typename TravelModeOptionsT = RouteMatrixTravelModeOptions>
303 SetTravelModeOptions(std::forward<TravelModeOptionsT>(value));
304 return *this;
305 }
307 private:
309
311
312 bool m_departNow{false};
313
314 Aws::String m_departureTime;
315
317
318 RouteMatrixExclusionOptions m_exclude;
319
320 Aws::String m_key;
321
322 RoutingObjective m_optimizeRoutingFor{RoutingObjective::NOT_SET};
323
325
326 RouteMatrixBoundary m_routingBoundary;
327
328 RouteMatrixTrafficOptions m_traffic;
329
331
332 RouteMatrixTravelModeOptions m_travelModeOptions;
333 bool m_allowHasBeenSet = false;
334 bool m_avoidHasBeenSet = false;
335 bool m_departNowHasBeenSet = false;
336 bool m_departureTimeHasBeenSet = false;
337 bool m_destinationsHasBeenSet = false;
338 bool m_excludeHasBeenSet = false;
339 bool m_keyHasBeenSet = false;
340 bool m_optimizeRoutingForHasBeenSet = false;
341 bool m_originsHasBeenSet = false;
342 bool m_routingBoundaryHasBeenSet = false;
343 bool m_trafficHasBeenSet = false;
344 bool m_travelModeHasBeenSet = false;
345 bool m_travelModeOptionsHasBeenSet = false;
346};
347
348} // namespace Model
349} // namespace GeoRoutes
350} // 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