/** * 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 { /** *

A summary of the calculated route matrix.

See Also:

AWS * API Reference

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

The data provider of traffic and road network data used to calculate the * routes. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline const Aws::String& GetDataSource() const{ return m_dataSource; } /** *

The data provider of traffic and road network data used to calculate the * routes. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline bool DataSourceHasBeenSet() const { return m_dataSourceHasBeenSet; } /** *

The data provider of traffic and road network data used to calculate the * routes. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline void SetDataSource(const Aws::String& value) { m_dataSourceHasBeenSet = true; m_dataSource = value; } /** *

The data provider of traffic and road network data used to calculate the * routes. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline void SetDataSource(Aws::String&& value) { m_dataSourceHasBeenSet = true; m_dataSource = std::move(value); } /** *

The data provider of traffic and road network data used to calculate the * routes. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline void SetDataSource(const char* value) { m_dataSourceHasBeenSet = true; m_dataSource.assign(value); } /** *

The data provider of traffic and road network data used to calculate the * routes. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline CalculateRouteMatrixSummary& WithDataSource(const Aws::String& value) { SetDataSource(value); return *this;} /** *

The data provider of traffic and road network data used to calculate the * routes. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline CalculateRouteMatrixSummary& WithDataSource(Aws::String&& value) { SetDataSource(std::move(value)); return *this;} /** *

The data provider of traffic and road network data used to calculate the * routes. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline CalculateRouteMatrixSummary& WithDataSource(const char* value) { SetDataSource(value); return *this;} /** *

The unit of measurement for route distances.

*/ inline const DistanceUnit& GetDistanceUnit() const{ return m_distanceUnit; } /** *

The unit of measurement for route distances.

*/ inline bool DistanceUnitHasBeenSet() const { return m_distanceUnitHasBeenSet; } /** *

The unit of measurement for route distances.

*/ inline void SetDistanceUnit(const DistanceUnit& value) { m_distanceUnitHasBeenSet = true; m_distanceUnit = value; } /** *

The unit of measurement for route distances.

*/ inline void SetDistanceUnit(DistanceUnit&& value) { m_distanceUnitHasBeenSet = true; m_distanceUnit = std::move(value); } /** *

The unit of measurement for route distances.

*/ inline CalculateRouteMatrixSummary& WithDistanceUnit(const DistanceUnit& value) { SetDistanceUnit(value); return *this;} /** *

The unit of measurement for route distances.

*/ inline CalculateRouteMatrixSummary& WithDistanceUnit(DistanceUnit&& value) { SetDistanceUnit(std::move(value)); return *this;} /** *

The count of error results in the route matrix. If this number is 0, all * routes were calculated successfully.

*/ inline int GetErrorCount() const{ return m_errorCount; } /** *

The count of error results in the route matrix. If this number is 0, all * routes were calculated successfully.

*/ inline bool ErrorCountHasBeenSet() const { return m_errorCountHasBeenSet; } /** *

The count of error results in the route matrix. If this number is 0, all * routes were calculated successfully.

*/ inline void SetErrorCount(int value) { m_errorCountHasBeenSet = true; m_errorCount = value; } /** *

The count of error results in the route matrix. If this number is 0, all * routes were calculated successfully.

*/ inline CalculateRouteMatrixSummary& WithErrorCount(int value) { SetErrorCount(value); return *this;} /** *

The count of cells in the route matrix. Equal to the number of * DeparturePositions multiplied by the number of * DestinationPositions.

*/ inline int GetRouteCount() const{ return m_routeCount; } /** *

The count of cells in the route matrix. Equal to the number of * DeparturePositions multiplied by the number of * DestinationPositions.

*/ inline bool RouteCountHasBeenSet() const { return m_routeCountHasBeenSet; } /** *

The count of cells in the route matrix. Equal to the number of * DeparturePositions multiplied by the number of * DestinationPositions.

*/ inline void SetRouteCount(int value) { m_routeCountHasBeenSet = true; m_routeCount = value; } /** *

The count of cells in the route matrix. Equal to the number of * DeparturePositions multiplied by the number of * DestinationPositions.

*/ inline CalculateRouteMatrixSummary& WithRouteCount(int value) { SetRouteCount(value); return *this;} private: Aws::String m_dataSource; bool m_dataSourceHasBeenSet = false; DistanceUnit m_distanceUnit; bool m_distanceUnitHasBeenSet = false; int m_errorCount; bool m_errorCountHasBeenSet = false; int m_routeCount; bool m_routeCountHasBeenSet = false; }; } // namespace Model } // namespace LocationService } // namespace Aws