AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CalculateRouteMatrixRequest.h
1
6#pragma once
7#include <aws/geo-routes/GeoRoutes_EXPORTS.h>
8#include <aws/geo-routes/GeoRoutesRequest.h>
9#include <aws/geo-routes/model/RouteMatrixAllowOptions.h>
10#include <aws/geo-routes/model/RouteMatrixAvoidanceOptions.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/geo-routes/model/RouteMatrixExclusionOptions.h>
14#include <aws/geo-routes/model/RoutingObjective.h>
15#include <aws/geo-routes/model/RouteMatrixBoundary.h>
16#include <aws/geo-routes/model/RouteMatrixTrafficOptions.h>
17#include <aws/geo-routes/model/RouteMatrixTravelMode.h>
18#include <aws/geo-routes/model/RouteMatrixTravelModeOptions.h>
19#include <aws/geo-routes/model/RouteMatrixDestination.h>
20#include <aws/geo-routes/model/RouteMatrixOrigin.h>
21#include <utility>
22
23namespace Aws
24{
25namespace Http
26{
27 class URI;
28} //namespace Http
29namespace GeoRoutes
30{
31namespace Model
32{
33
37 {
38 public:
39 AWS_GEOROUTES_API CalculateRouteMatrixRequest() = default;
40
41 // Service request name is the Operation name which will send this request out,
42 // each operation should has unique request name, so that we can get operation's name from this request.
43 // Note: this is not true for response, multiple operations may have the same response name,
44 // so we can not get operation's name from response.
45 inline virtual const char* GetServiceRequestName() const override { return "CalculateRouteMatrix"; }
46
47 AWS_GEOROUTES_API Aws::String SerializePayload() const override;
48
49 AWS_GEOROUTES_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
50
51
53
56 inline const RouteMatrixAllowOptions& GetAllow() const { return m_allow; }
57 inline bool AllowHasBeenSet() const { return m_allowHasBeenSet; }
58 template<typename AllowT = RouteMatrixAllowOptions>
59 void SetAllow(AllowT&& value) { m_allowHasBeenSet = true; m_allow = std::forward<AllowT>(value); }
60 template<typename AllowT = RouteMatrixAllowOptions>
61 CalculateRouteMatrixRequest& WithAllow(AllowT&& value) { SetAllow(std::forward<AllowT>(value)); return *this;}
63
65
71 inline const RouteMatrixAvoidanceOptions& GetAvoid() const { return m_avoid; }
72 inline bool AvoidHasBeenSet() const { return m_avoidHasBeenSet; }
73 template<typename AvoidT = RouteMatrixAvoidanceOptions>
74 void SetAvoid(AvoidT&& value) { m_avoidHasBeenSet = true; m_avoid = std::forward<AvoidT>(value); }
75 template<typename AvoidT = RouteMatrixAvoidanceOptions>
76 CalculateRouteMatrixRequest& WithAvoid(AvoidT&& value) { SetAvoid(std::forward<AvoidT>(value)); return *this;}
78
80
83 inline bool GetDepartNow() const { return m_departNow; }
84 inline bool DepartNowHasBeenSet() const { return m_departNowHasBeenSet; }
85 inline void SetDepartNow(bool value) { m_departNowHasBeenSet = true; m_departNow = value; }
86 inline CalculateRouteMatrixRequest& WithDepartNow(bool value) { SetDepartNow(value); return *this;}
88
90
96 inline const Aws::String& GetDepartureTime() const { return m_departureTime; }
97 inline bool DepartureTimeHasBeenSet() const { return m_departureTimeHasBeenSet; }
98 template<typename DepartureTimeT = Aws::String>
99 void SetDepartureTime(DepartureTimeT&& value) { m_departureTimeHasBeenSet = true; m_departureTime = std::forward<DepartureTimeT>(value); }
100 template<typename DepartureTimeT = Aws::String>
101 CalculateRouteMatrixRequest& WithDepartureTime(DepartureTimeT&& value) { SetDepartureTime(std::forward<DepartureTimeT>(value)); return *this;}
103
105
112 inline const Aws::Vector<RouteMatrixDestination>& GetDestinations() const { return m_destinations; }
113 inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; }
114 template<typename DestinationsT = Aws::Vector<RouteMatrixDestination>>
115 void SetDestinations(DestinationsT&& value) { m_destinationsHasBeenSet = true; m_destinations = std::forward<DestinationsT>(value); }
116 template<typename DestinationsT = Aws::Vector<RouteMatrixDestination>>
117 CalculateRouteMatrixRequest& WithDestinations(DestinationsT&& value) { SetDestinations(std::forward<DestinationsT>(value)); return *this;}
118 template<typename DestinationsT = RouteMatrixDestination>
119 CalculateRouteMatrixRequest& AddDestinations(DestinationsT&& value) { m_destinationsHasBeenSet = true; m_destinations.emplace_back(std::forward<DestinationsT>(value)); return *this; }
121
123
126 inline const RouteMatrixExclusionOptions& GetExclude() const { return m_exclude; }
127 inline bool ExcludeHasBeenSet() const { return m_excludeHasBeenSet; }
128 template<typename ExcludeT = RouteMatrixExclusionOptions>
129 void SetExclude(ExcludeT&& value) { m_excludeHasBeenSet = true; m_exclude = std::forward<ExcludeT>(value); }
130 template<typename ExcludeT = RouteMatrixExclusionOptions>
131 CalculateRouteMatrixRequest& WithExclude(ExcludeT&& value) { SetExclude(std::forward<ExcludeT>(value)); return *this;}
133
135
139 inline const Aws::String& GetKey() const { return m_key; }
140 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
141 template<typename KeyT = Aws::String>
142 void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward<KeyT>(value); }
143 template<typename KeyT = Aws::String>
144 CalculateRouteMatrixRequest& WithKey(KeyT&& value) { SetKey(std::forward<KeyT>(value)); return *this;}
146
148
152 inline RoutingObjective GetOptimizeRoutingFor() const { return m_optimizeRoutingFor; }
153 inline bool OptimizeRoutingForHasBeenSet() const { return m_optimizeRoutingForHasBeenSet; }
154 inline void SetOptimizeRoutingFor(RoutingObjective value) { m_optimizeRoutingForHasBeenSet = true; m_optimizeRoutingFor = value; }
157
159
166 inline const Aws::Vector<RouteMatrixOrigin>& GetOrigins() const { return m_origins; }
167 inline bool OriginsHasBeenSet() const { return m_originsHasBeenSet; }
168 template<typename OriginsT = Aws::Vector<RouteMatrixOrigin>>
169 void SetOrigins(OriginsT&& value) { m_originsHasBeenSet = true; m_origins = std::forward<OriginsT>(value); }
170 template<typename OriginsT = Aws::Vector<RouteMatrixOrigin>>
171 CalculateRouteMatrixRequest& WithOrigins(OriginsT&& value) { SetOrigins(std::forward<OriginsT>(value)); return *this;}
172 template<typename OriginsT = RouteMatrixOrigin>
173 CalculateRouteMatrixRequest& AddOrigins(OriginsT&& value) { m_originsHasBeenSet = true; m_origins.emplace_back(std::forward<OriginsT>(value)); return *this; }
175
177
183 inline const RouteMatrixBoundary& GetRoutingBoundary() const { return m_routingBoundary; }
184 inline bool RoutingBoundaryHasBeenSet() const { return m_routingBoundaryHasBeenSet; }
185 template<typename RoutingBoundaryT = RouteMatrixBoundary>
186 void SetRoutingBoundary(RoutingBoundaryT&& value) { m_routingBoundaryHasBeenSet = true; m_routingBoundary = std::forward<RoutingBoundaryT>(value); }
187 template<typename RoutingBoundaryT = RouteMatrixBoundary>
188 CalculateRouteMatrixRequest& WithRoutingBoundary(RoutingBoundaryT&& value) { SetRoutingBoundary(std::forward<RoutingBoundaryT>(value)); return *this;}
190
192
195 inline const RouteMatrixTrafficOptions& GetTraffic() const { return m_traffic; }
196 inline bool TrafficHasBeenSet() const { return m_trafficHasBeenSet; }
197 template<typename TrafficT = RouteMatrixTrafficOptions>
198 void SetTraffic(TrafficT&& value) { m_trafficHasBeenSet = true; m_traffic = std::forward<TrafficT>(value); }
199 template<typename TrafficT = RouteMatrixTrafficOptions>
200 CalculateRouteMatrixRequest& WithTraffic(TrafficT&& value) { SetTraffic(std::forward<TrafficT>(value)); return *this;}
202
204
209 inline RouteMatrixTravelMode GetTravelMode() const { return m_travelMode; }
210 inline bool TravelModeHasBeenSet() const { return m_travelModeHasBeenSet; }
211 inline void SetTravelMode(RouteMatrixTravelMode value) { m_travelModeHasBeenSet = true; m_travelMode = value; }
214
216
219 inline const RouteMatrixTravelModeOptions& GetTravelModeOptions() const { return m_travelModeOptions; }
220 inline bool TravelModeOptionsHasBeenSet() const { return m_travelModeOptionsHasBeenSet; }
221 template<typename TravelModeOptionsT = RouteMatrixTravelModeOptions>
222 void SetTravelModeOptions(TravelModeOptionsT&& value) { m_travelModeOptionsHasBeenSet = true; m_travelModeOptions = std::forward<TravelModeOptionsT>(value); }
223 template<typename TravelModeOptionsT = RouteMatrixTravelModeOptions>
224 CalculateRouteMatrixRequest& WithTravelModeOptions(TravelModeOptionsT&& value) { SetTravelModeOptions(std::forward<TravelModeOptionsT>(value)); return *this;}
226 private:
227
229 bool m_allowHasBeenSet = false;
230
232 bool m_avoidHasBeenSet = false;
233
234 bool m_departNow{false};
235 bool m_departNowHasBeenSet = false;
236
237 Aws::String m_departureTime;
238 bool m_departureTimeHasBeenSet = false;
239
241 bool m_destinationsHasBeenSet = false;
242
243 RouteMatrixExclusionOptions m_exclude;
244 bool m_excludeHasBeenSet = false;
245
246 Aws::String m_key;
247 bool m_keyHasBeenSet = false;
248
249 RoutingObjective m_optimizeRoutingFor{RoutingObjective::NOT_SET};
250 bool m_optimizeRoutingForHasBeenSet = false;
251
253 bool m_originsHasBeenSet = false;
254
255 RouteMatrixBoundary m_routingBoundary;
256 bool m_routingBoundaryHasBeenSet = false;
257
258 RouteMatrixTrafficOptions m_traffic;
259 bool m_trafficHasBeenSet = false;
260
262 bool m_travelModeHasBeenSet = false;
263
264 RouteMatrixTravelModeOptions m_travelModeOptions;
265 bool m_travelModeOptionsHasBeenSet = false;
266 };
267
268} // namespace Model
269} // namespace GeoRoutes
270} // 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