AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
RouteAvoidanceOptions.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/GeoRoutes_EXPORTS.h>
10#include <aws/geo-routes/model/RouteAvoidanceArea.h>
11#include <aws/geo-routes/model/RouteAvoidanceZoneCategory.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace GeoRoutes {
23namespace Model {
24
36 public:
37 AWS_GEOROUTES_API RouteAvoidanceOptions() = default;
40 AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
46 inline const Aws::Vector<RouteAvoidanceArea>& GetAreas() const { return m_areas; }
47 inline bool AreasHasBeenSet() const { return m_areasHasBeenSet; }
48 template <typename AreasT = Aws::Vector<RouteAvoidanceArea>>
49 void SetAreas(AreasT&& value) {
50 m_areasHasBeenSet = true;
51 m_areas = std::forward<AreasT>(value);
52 }
53 template <typename AreasT = Aws::Vector<RouteAvoidanceArea>>
55 SetAreas(std::forward<AreasT>(value));
56 return *this;
57 }
58 template <typename AreasT = RouteAvoidanceArea>
60 m_areasHasBeenSet = true;
61 m_areas.emplace_back(std::forward<AreasT>(value));
62 return *this;
63 }
65
67
70 inline bool GetCarShuttleTrains() const { return m_carShuttleTrains; }
71 inline bool CarShuttleTrainsHasBeenSet() const { return m_carShuttleTrainsHasBeenSet; }
72 inline void SetCarShuttleTrains(bool value) {
73 m_carShuttleTrainsHasBeenSet = true;
74 m_carShuttleTrains = value;
75 }
78 return *this;
79 }
81
83
86 inline bool GetControlledAccessHighways() const { return m_controlledAccessHighways; }
87 inline bool ControlledAccessHighwaysHasBeenSet() const { return m_controlledAccessHighwaysHasBeenSet; }
88 inline void SetControlledAccessHighways(bool value) {
89 m_controlledAccessHighwaysHasBeenSet = true;
90 m_controlledAccessHighways = value;
91 }
94 return *this;
95 }
97
99
102 inline bool GetDirtRoads() const { return m_dirtRoads; }
103 inline bool DirtRoadsHasBeenSet() const { return m_dirtRoadsHasBeenSet; }
104 inline void SetDirtRoads(bool value) {
105 m_dirtRoadsHasBeenSet = true;
106 m_dirtRoads = value;
107 }
109 SetDirtRoads(value);
110 return *this;
111 }
113
115
118 inline bool GetFerries() const { return m_ferries; }
119 inline bool FerriesHasBeenSet() const { return m_ferriesHasBeenSet; }
120 inline void SetFerries(bool value) {
121 m_ferriesHasBeenSet = true;
122 m_ferries = value;
123 }
124 inline RouteAvoidanceOptions& WithFerries(bool value) {
125 SetFerries(value);
126 return *this;
127 }
129
131
134 inline bool GetSeasonalClosure() const { return m_seasonalClosure; }
135 inline bool SeasonalClosureHasBeenSet() const { return m_seasonalClosureHasBeenSet; }
136 inline void SetSeasonalClosure(bool value) {
137 m_seasonalClosureHasBeenSet = true;
138 m_seasonalClosure = value;
139 }
141 SetSeasonalClosure(value);
142 return *this;
143 }
145
147
151 inline bool GetTollRoads() const { return m_tollRoads; }
152 inline bool TollRoadsHasBeenSet() const { return m_tollRoadsHasBeenSet; }
153 inline void SetTollRoads(bool value) {
154 m_tollRoadsHasBeenSet = true;
155 m_tollRoads = value;
156 }
158 SetTollRoads(value);
159 return *this;
160 }
162
164
168 inline bool GetTollTransponders() const { return m_tollTransponders; }
169 inline bool TollTranspondersHasBeenSet() const { return m_tollTranspondersHasBeenSet; }
170 inline void SetTollTransponders(bool value) {
171 m_tollTranspondersHasBeenSet = true;
172 m_tollTransponders = value;
173 }
175 SetTollTransponders(value);
176 return *this;
177 }
179
181
187 inline const Aws::Vector<Aws::String>& GetTruckRoadTypes() const { return m_truckRoadTypes; }
188 inline bool TruckRoadTypesHasBeenSet() const { return m_truckRoadTypesHasBeenSet; }
189 template <typename TruckRoadTypesT = Aws::Vector<Aws::String>>
190 void SetTruckRoadTypes(TruckRoadTypesT&& value) {
191 m_truckRoadTypesHasBeenSet = true;
192 m_truckRoadTypes = std::forward<TruckRoadTypesT>(value);
193 }
194 template <typename TruckRoadTypesT = Aws::Vector<Aws::String>>
195 RouteAvoidanceOptions& WithTruckRoadTypes(TruckRoadTypesT&& value) {
196 SetTruckRoadTypes(std::forward<TruckRoadTypesT>(value));
197 return *this;
198 }
199 template <typename TruckRoadTypesT = Aws::String>
200 RouteAvoidanceOptions& AddTruckRoadTypes(TruckRoadTypesT&& value) {
201 m_truckRoadTypesHasBeenSet = true;
202 m_truckRoadTypes.emplace_back(std::forward<TruckRoadTypesT>(value));
203 return *this;
204 }
206
208
211 inline bool GetTunnels() const { return m_tunnels; }
212 inline bool TunnelsHasBeenSet() const { return m_tunnelsHasBeenSet; }
213 inline void SetTunnels(bool value) {
214 m_tunnelsHasBeenSet = true;
215 m_tunnels = value;
216 }
217 inline RouteAvoidanceOptions& WithTunnels(bool value) {
218 SetTunnels(value);
219 return *this;
220 }
222
224
227 inline bool GetUTurns() const { return m_uTurns; }
228 inline bool UTurnsHasBeenSet() const { return m_uTurnsHasBeenSet; }
229 inline void SetUTurns(bool value) {
230 m_uTurnsHasBeenSet = true;
231 m_uTurns = value;
232 }
233 inline RouteAvoidanceOptions& WithUTurns(bool value) {
234 SetUTurns(value);
235 return *this;
236 }
238
240
243 inline const Aws::Vector<RouteAvoidanceZoneCategory>& GetZoneCategories() const { return m_zoneCategories; }
244 inline bool ZoneCategoriesHasBeenSet() const { return m_zoneCategoriesHasBeenSet; }
245 template <typename ZoneCategoriesT = Aws::Vector<RouteAvoidanceZoneCategory>>
246 void SetZoneCategories(ZoneCategoriesT&& value) {
247 m_zoneCategoriesHasBeenSet = true;
248 m_zoneCategories = std::forward<ZoneCategoriesT>(value);
249 }
250 template <typename ZoneCategoriesT = Aws::Vector<RouteAvoidanceZoneCategory>>
251 RouteAvoidanceOptions& WithZoneCategories(ZoneCategoriesT&& value) {
252 SetZoneCategories(std::forward<ZoneCategoriesT>(value));
253 return *this;
254 }
255 template <typename ZoneCategoriesT = RouteAvoidanceZoneCategory>
256 RouteAvoidanceOptions& AddZoneCategories(ZoneCategoriesT&& value) {
257 m_zoneCategoriesHasBeenSet = true;
258 m_zoneCategories.emplace_back(std::forward<ZoneCategoriesT>(value));
259 return *this;
260 }
262 private:
264
265 bool m_carShuttleTrains{false};
266
267 bool m_controlledAccessHighways{false};
268
269 bool m_dirtRoads{false};
270
271 bool m_ferries{false};
272
273 bool m_seasonalClosure{false};
274
275 bool m_tollRoads{false};
276
277 bool m_tollTransponders{false};
278
279 Aws::Vector<Aws::String> m_truckRoadTypes;
280
281 bool m_tunnels{false};
282
283 bool m_uTurns{false};
284
286 bool m_areasHasBeenSet = false;
287 bool m_carShuttleTrainsHasBeenSet = false;
288 bool m_controlledAccessHighwaysHasBeenSet = false;
289 bool m_dirtRoadsHasBeenSet = false;
290 bool m_ferriesHasBeenSet = false;
291 bool m_seasonalClosureHasBeenSet = false;
292 bool m_tollRoadsHasBeenSet = false;
293 bool m_tollTranspondersHasBeenSet = false;
294 bool m_truckRoadTypesHasBeenSet = false;
295 bool m_tunnelsHasBeenSet = false;
296 bool m_uTurnsHasBeenSet = false;
297 bool m_zoneCategoriesHasBeenSet = false;
298};
299
300} // namespace Model
301} // namespace GeoRoutes
302} // namespace Aws
RouteAvoidanceOptions & AddZoneCategories(ZoneCategoriesT &&value)
RouteAvoidanceOptions & WithZoneCategories(ZoneCategoriesT &&value)
RouteAvoidanceOptions & WithControlledAccessHighways(bool value)
RouteAvoidanceOptions & WithTollRoads(bool value)
AWS_GEOROUTES_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_GEOROUTES_API RouteAvoidanceOptions & operator=(Aws::Utils::Json::JsonView jsonValue)
RouteAvoidanceOptions & WithTunnels(bool value)
RouteAvoidanceOptions & WithAreas(AreasT &&value)
AWS_GEOROUTES_API RouteAvoidanceOptions(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< RouteAvoidanceArea > & GetAreas() const
RouteAvoidanceOptions & WithTollTransponders(bool value)
RouteAvoidanceOptions & AddTruckRoadTypes(TruckRoadTypesT &&value)
AWS_GEOROUTES_API RouteAvoidanceOptions()=default
RouteAvoidanceOptions & WithDirtRoads(bool value)
RouteAvoidanceOptions & AddAreas(AreasT &&value)
RouteAvoidanceOptions & WithTruckRoadTypes(TruckRoadTypesT &&value)
RouteAvoidanceOptions & WithFerries(bool value)
RouteAvoidanceOptions & WithSeasonalClosure(bool value)
RouteAvoidanceOptions & WithCarShuttleTrains(bool value)
const Aws::Vector< RouteAvoidanceZoneCategory > & GetZoneCategories() const
RouteAvoidanceOptions & WithUTurns(bool value)
const Aws::Vector< Aws::String > & GetTruckRoadTypes() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue