/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace LocationService { namespace Model { /** *

Contains details about additional route preferences for requests that specify * TravelMode as Truck.

See Also:

AWS * API Reference

*/ class CalculateRouteTruckModeOptions { public: AWS_LOCATIONSERVICE_API CalculateRouteTruckModeOptions(); AWS_LOCATIONSERVICE_API CalculateRouteTruckModeOptions(Aws::Utils::Json::JsonView jsonValue); AWS_LOCATIONSERVICE_API CalculateRouteTruckModeOptions& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Avoids ferries when calculating routes.

Default Value: * false

Valid Values: false | true *

*/ inline bool GetAvoidFerries() const{ return m_avoidFerries; } /** *

Avoids ferries when calculating routes.

Default Value: * false

Valid Values: false | true *

*/ inline bool AvoidFerriesHasBeenSet() const { return m_avoidFerriesHasBeenSet; } /** *

Avoids ferries when calculating routes.

Default Value: * false

Valid Values: false | true *

*/ inline void SetAvoidFerries(bool value) { m_avoidFerriesHasBeenSet = true; m_avoidFerries = value; } /** *

Avoids ferries when calculating routes.

Default Value: * false

Valid Values: false | true *

*/ inline CalculateRouteTruckModeOptions& WithAvoidFerries(bool value) { SetAvoidFerries(value); return *this;} /** *

Avoids tolls when calculating routes.

Default Value: * false

Valid Values: false | true *

*/ inline bool GetAvoidTolls() const{ return m_avoidTolls; } /** *

Avoids tolls when calculating routes.

Default Value: * false

Valid Values: false | true *

*/ inline bool AvoidTollsHasBeenSet() const { return m_avoidTollsHasBeenSet; } /** *

Avoids tolls when calculating routes.

Default Value: * false

Valid Values: false | true *

*/ inline void SetAvoidTolls(bool value) { m_avoidTollsHasBeenSet = true; m_avoidTolls = value; } /** *

Avoids tolls when calculating routes.

Default Value: * false

Valid Values: false | true *

*/ inline CalculateRouteTruckModeOptions& WithAvoidTolls(bool value) { SetAvoidTolls(value); return *this;} /** *

Specifies the truck's dimension specifications including length, height, * width, and unit of measurement. Used to avoid roads that can't support the * truck's dimensions.

*/ inline const TruckDimensions& GetDimensions() const{ return m_dimensions; } /** *

Specifies the truck's dimension specifications including length, height, * width, and unit of measurement. Used to avoid roads that can't support the * truck's dimensions.

*/ inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; } /** *

Specifies the truck's dimension specifications including length, height, * width, and unit of measurement. Used to avoid roads that can't support the * truck's dimensions.

*/ inline void SetDimensions(const TruckDimensions& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; } /** *

Specifies the truck's dimension specifications including length, height, * width, and unit of measurement. Used to avoid roads that can't support the * truck's dimensions.

*/ inline void SetDimensions(TruckDimensions&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); } /** *

Specifies the truck's dimension specifications including length, height, * width, and unit of measurement. Used to avoid roads that can't support the * truck's dimensions.

*/ inline CalculateRouteTruckModeOptions& WithDimensions(const TruckDimensions& value) { SetDimensions(value); return *this;} /** *

Specifies the truck's dimension specifications including length, height, * width, and unit of measurement. Used to avoid roads that can't support the * truck's dimensions.

*/ inline CalculateRouteTruckModeOptions& WithDimensions(TruckDimensions&& value) { SetDimensions(std::move(value)); return *this;} /** *

Specifies the truck's weight specifications including total weight and unit * of measurement. Used to avoid roads that can't support the truck's weight.

*/ inline const TruckWeight& GetWeight() const{ return m_weight; } /** *

Specifies the truck's weight specifications including total weight and unit * of measurement. Used to avoid roads that can't support the truck's weight.

*/ inline bool WeightHasBeenSet() const { return m_weightHasBeenSet; } /** *

Specifies the truck's weight specifications including total weight and unit * of measurement. Used to avoid roads that can't support the truck's weight.

*/ inline void SetWeight(const TruckWeight& value) { m_weightHasBeenSet = true; m_weight = value; } /** *

Specifies the truck's weight specifications including total weight and unit * of measurement. Used to avoid roads that can't support the truck's weight.

*/ inline void SetWeight(TruckWeight&& value) { m_weightHasBeenSet = true; m_weight = std::move(value); } /** *

Specifies the truck's weight specifications including total weight and unit * of measurement. Used to avoid roads that can't support the truck's weight.

*/ inline CalculateRouteTruckModeOptions& WithWeight(const TruckWeight& value) { SetWeight(value); return *this;} /** *

Specifies the truck's weight specifications including total weight and unit * of measurement. Used to avoid roads that can't support the truck's weight.

*/ inline CalculateRouteTruckModeOptions& WithWeight(TruckWeight&& value) { SetWeight(std::move(value)); return *this;} private: bool m_avoidFerries; bool m_avoidFerriesHasBeenSet = false; bool m_avoidTolls; bool m_avoidTollsHasBeenSet = false; TruckDimensions m_dimensions; bool m_dimensionsHasBeenSet = false; TruckWeight m_weight; bool m_weightHasBeenSet = false; }; } // namespace Model } // namespace LocationService } // namespace Aws