AWS SDK for C++

AWS SDK for C++ Version 1.11.793

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
136 inline const Aws::Vector<RouteMatrixDestination>& GetDestinations() const { return m_destinations; }
137 inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; }
138 template <typename DestinationsT = Aws::Vector<RouteMatrixDestination>>
139 void SetDestinations(DestinationsT&& value) {
140 m_destinationsHasBeenSet = true;
141 m_destinations = std::forward<DestinationsT>(value);
142 }
143 template <typename DestinationsT = Aws::Vector<RouteMatrixDestination>>
145 SetDestinations(std::forward<DestinationsT>(value));
146 return *this;
147 }
148 template <typename DestinationsT = RouteMatrixDestination>
150 m_destinationsHasBeenSet = true;
151 m_destinations.emplace_back(std::forward<DestinationsT>(value));
152 return *this;
153 }
155
157
163 inline const RouteMatrixExclusionOptions& GetExclude() const { return m_exclude; }
164 inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; }
165 template <typename ExcludeT = RouteMatrixExclusionOptions>
166 void SetExclude(ExcludeT&& value) {
167 m_excludeHasBeenSet = true;
168 m_exclude = std::forward<ExcludeT>(value);
169 }
170 template <typename ExcludeT = RouteMatrixExclusionOptions>
172 SetExclude(std::forward<ExcludeT>(value));
173 return *this;
174 }
176
178
182 inline const Aws::String& GetKey() const { return m_key; }
183 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
184 template <typename KeyT = Aws::String>
185 void SetKey(KeyT&& value) {
186 m_keyHasBeenSet = true;
187 m_key = std::forward<KeyT>(value);
188 }
189 template <typename KeyT = Aws::String>
191 SetKey(std::forward<KeyT>(value));
192 return *this;
193 }
195
197
203 inline RoutingObjective GetOptimizeRoutingFor() const { return m_optimizeRoutingFor; }
204 inline bool OptimizeRoutingForHasBeenSet() const { return m_optimizeRoutingForHasBeenSet; }
206 m_optimizeRoutingForHasBeenSet = true;
207 m_optimizeRoutingFor = value;
208 }
211 return *this;
212 }
214
216
224 inline const Aws::Vector<RouteMatrixOrigin>& GetOrigins() const { return m_origins; }
225 inline bool OriginsHasBeenSet() const { return m_originsHasBeenSet; }
226 template <typename OriginsT = Aws::Vector<RouteMatrixOrigin>>
227 void SetOrigins(OriginsT&& value) {
228 m_originsHasBeenSet = true;
229 m_origins = std::forward<OriginsT>(value);
230 }
231 template <typename OriginsT = Aws::Vector<RouteMatrixOrigin>>
233 SetOrigins(std::forward<OriginsT>(value));
234 return *this;
235 }
236 template <typename OriginsT = RouteMatrixOrigin>
238 m_originsHasBeenSet = true;
239 m_origins.emplace_back(std::forward<OriginsT>(value));
240 return *this;
241 }
243
245
255 inline const RouteMatrixBoundary& GetRoutingBoundary() const { return m_routingBoundary; }
256 inline bool RoutingBoundaryHasBeenSet() const { return m_routingBoundaryHasBeenSet; }
257 template <typename RoutingBoundaryT = RouteMatrixBoundary>
258 void SetRoutingBoundary(RoutingBoundaryT&& value) {
259 m_routingBoundaryHasBeenSet = true;
260 m_routingBoundary = std::forward<RoutingBoundaryT>(value);
261 }
262 template <typename RoutingBoundaryT = RouteMatrixBoundary>
264 SetRoutingBoundary(std::forward<RoutingBoundaryT>(value));
265 return *this;
266 }
268
270
276 inline const RouteMatrixTrafficOptions& GetTraffic() const { return m_traffic; }
277 inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; }
278 template <typename TrafficT = RouteMatrixTrafficOptions>
279 void SetTraffic(TrafficT&& value) {
280 m_trafficHasBeenSet = true;
281 m_traffic = std::forward<TrafficT>(value);
282 }
283 template <typename TrafficT = RouteMatrixTrafficOptions>
285 SetTraffic(std::forward<TrafficT>(value));
286 return *this;
287 }
289
291
299 inline RouteMatrixTravelMode GetTravelMode() const { return m_travelMode; }
300 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
302 m_travelModeHasBeenSet = true;
303 m_travelMode = value;
304 }
306 SetTravelMode(value);
307 return *this;
308 }
310
312
318 inline const RouteMatrixTravelModeOptions& GetTravelModeOptions() const { return m_travelModeOptions; }
319 inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; }
320 template <typename TravelModeOptionsT = RouteMatrixTravelModeOptions>
321 void SetTravelModeOptions(TravelModeOptionsT&& value) {
322 m_travelModeOptionsHasBeenSet = true;
323 m_travelModeOptions = std::forward<TravelModeOptionsT>(value);
324 }
325 template <typename TravelModeOptionsT = RouteMatrixTravelModeOptions>
327 SetTravelModeOptions(std::forward<TravelModeOptionsT>(value));
328 return *this;
329 }
331 private:
333
335
336 bool m_departNow{false};
337
338 Aws::String m_departureTime;
339
341
342 RouteMatrixExclusionOptions m_exclude;
343
344 Aws::String m_key;
345
346 RoutingObjective m_optimizeRoutingFor{RoutingObjective::NOT_SET};
347
349
350 RouteMatrixBoundary m_routingBoundary;
351
352 RouteMatrixTrafficOptions m_traffic;
353
355
356 RouteMatrixTravelModeOptions m_travelModeOptions;
357 bool m_allowHasBeenSet = false;
358 bool m_avoidHasBeenSet = false;
359 bool m_departNowHasBeenSet = false;
360 bool m_departureTimeHasBeenSet = false;
361 bool m_destinationsHasBeenSet = false;
362 bool m_excludeHasBeenSet = false;
363 bool m_keyHasBeenSet = false;
364 bool m_optimizeRoutingForHasBeenSet = false;
365 bool m_originsHasBeenSet = false;
366 bool m_routingBoundaryHasBeenSet = false;
367 bool m_trafficHasBeenSet = false;
368 bool m_travelModeHasBeenSet = false;
369 bool m_travelModeOptionsHasBeenSet = false;
370};
371
372} // namespace Model
373} // namespace GeoRoutes
374} // 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