{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Location.CalculateRouteMatrix
(
CalculateRouteMatrix (..),
newCalculateRouteMatrix,
calculateRouteMatrix_carModeOptions,
calculateRouteMatrix_departNow,
calculateRouteMatrix_departureTime,
calculateRouteMatrix_distanceUnit,
calculateRouteMatrix_travelMode,
calculateRouteMatrix_truckModeOptions,
calculateRouteMatrix_calculatorName,
calculateRouteMatrix_departurePositions,
calculateRouteMatrix_destinationPositions,
CalculateRouteMatrixResponse (..),
newCalculateRouteMatrixResponse,
calculateRouteMatrixResponse_snappedDeparturePositions,
calculateRouteMatrixResponse_snappedDestinationPositions,
calculateRouteMatrixResponse_httpStatus,
calculateRouteMatrixResponse_routeMatrix,
calculateRouteMatrixResponse_summary,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Location.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CalculateRouteMatrix = CalculateRouteMatrix'
{
CalculateRouteMatrix -> Maybe CalculateRouteCarModeOptions
carModeOptions :: Prelude.Maybe CalculateRouteCarModeOptions,
CalculateRouteMatrix -> Maybe Bool
departNow :: Prelude.Maybe Prelude.Bool,
CalculateRouteMatrix -> Maybe ISO8601
departureTime :: Prelude.Maybe Data.ISO8601,
CalculateRouteMatrix -> Maybe DistanceUnit
distanceUnit :: Prelude.Maybe DistanceUnit,
CalculateRouteMatrix -> Maybe TravelMode
travelMode :: Prelude.Maybe TravelMode,
CalculateRouteMatrix -> Maybe CalculateRouteTruckModeOptions
truckModeOptions :: Prelude.Maybe CalculateRouteTruckModeOptions,
CalculateRouteMatrix -> Text
calculatorName :: Prelude.Text,
CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
departurePositions :: Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double)),
CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
destinationPositions :: Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double))
}
deriving (CalculateRouteMatrix -> CalculateRouteMatrix -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CalculateRouteMatrix -> CalculateRouteMatrix -> Bool
$c/= :: CalculateRouteMatrix -> CalculateRouteMatrix -> Bool
== :: CalculateRouteMatrix -> CalculateRouteMatrix -> Bool
$c== :: CalculateRouteMatrix -> CalculateRouteMatrix -> Bool
Prelude.Eq, Int -> CalculateRouteMatrix -> ShowS
[CalculateRouteMatrix] -> ShowS
CalculateRouteMatrix -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CalculateRouteMatrix] -> ShowS
$cshowList :: [CalculateRouteMatrix] -> ShowS
show :: CalculateRouteMatrix -> String
$cshow :: CalculateRouteMatrix -> String
showsPrec :: Int -> CalculateRouteMatrix -> ShowS
$cshowsPrec :: Int -> CalculateRouteMatrix -> ShowS
Prelude.Show, forall x. Rep CalculateRouteMatrix x -> CalculateRouteMatrix
forall x. CalculateRouteMatrix -> Rep CalculateRouteMatrix x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CalculateRouteMatrix x -> CalculateRouteMatrix
$cfrom :: forall x. CalculateRouteMatrix -> Rep CalculateRouteMatrix x
Prelude.Generic)
newCalculateRouteMatrix ::
Prelude.Text ->
Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double) ->
Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double) ->
CalculateRouteMatrix
newCalculateRouteMatrix :: Text
-> NonEmpty (NonEmpty Double)
-> NonEmpty (NonEmpty Double)
-> CalculateRouteMatrix
newCalculateRouteMatrix
Text
pCalculatorName_
NonEmpty (NonEmpty Double)
pDeparturePositions_
NonEmpty (NonEmpty Double)
pDestinationPositions_ =
CalculateRouteMatrix'
{ $sel:carModeOptions:CalculateRouteMatrix' :: Maybe CalculateRouteCarModeOptions
carModeOptions =
forall a. Maybe a
Prelude.Nothing,
$sel:departNow:CalculateRouteMatrix' :: Maybe Bool
departNow = forall a. Maybe a
Prelude.Nothing,
$sel:departureTime:CalculateRouteMatrix' :: Maybe ISO8601
departureTime = forall a. Maybe a
Prelude.Nothing,
$sel:distanceUnit:CalculateRouteMatrix' :: Maybe DistanceUnit
distanceUnit = forall a. Maybe a
Prelude.Nothing,
$sel:travelMode:CalculateRouteMatrix' :: Maybe TravelMode
travelMode = forall a. Maybe a
Prelude.Nothing,
$sel:truckModeOptions:CalculateRouteMatrix' :: Maybe CalculateRouteTruckModeOptions
truckModeOptions = forall a. Maybe a
Prelude.Nothing,
$sel:calculatorName:CalculateRouteMatrix' :: Text
calculatorName = Text
pCalculatorName_,
$sel:departurePositions:CalculateRouteMatrix' :: NonEmpty (Sensitive (NonEmpty Double))
departurePositions =
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty (NonEmpty Double)
pDeparturePositions_,
$sel:destinationPositions:CalculateRouteMatrix' :: NonEmpty (Sensitive (NonEmpty Double))
destinationPositions =
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty (NonEmpty Double)
pDestinationPositions_
}
calculateRouteMatrix_carModeOptions :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe CalculateRouteCarModeOptions)
calculateRouteMatrix_carModeOptions :: Lens' CalculateRouteMatrix (Maybe CalculateRouteCarModeOptions)
calculateRouteMatrix_carModeOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrix' {Maybe CalculateRouteCarModeOptions
carModeOptions :: Maybe CalculateRouteCarModeOptions
$sel:carModeOptions:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe CalculateRouteCarModeOptions
carModeOptions} -> Maybe CalculateRouteCarModeOptions
carModeOptions) (\s :: CalculateRouteMatrix
s@CalculateRouteMatrix' {} Maybe CalculateRouteCarModeOptions
a -> CalculateRouteMatrix
s {$sel:carModeOptions:CalculateRouteMatrix' :: Maybe CalculateRouteCarModeOptions
carModeOptions = Maybe CalculateRouteCarModeOptions
a} :: CalculateRouteMatrix)
calculateRouteMatrix_departNow :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe Prelude.Bool)
calculateRouteMatrix_departNow :: Lens' CalculateRouteMatrix (Maybe Bool)
calculateRouteMatrix_departNow = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrix' {Maybe Bool
departNow :: Maybe Bool
$sel:departNow:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe Bool
departNow} -> Maybe Bool
departNow) (\s :: CalculateRouteMatrix
s@CalculateRouteMatrix' {} Maybe Bool
a -> CalculateRouteMatrix
s {$sel:departNow:CalculateRouteMatrix' :: Maybe Bool
departNow = Maybe Bool
a} :: CalculateRouteMatrix)
calculateRouteMatrix_departureTime :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe Prelude.UTCTime)
calculateRouteMatrix_departureTime :: Lens' CalculateRouteMatrix (Maybe UTCTime)
calculateRouteMatrix_departureTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrix' {Maybe ISO8601
departureTime :: Maybe ISO8601
$sel:departureTime:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe ISO8601
departureTime} -> Maybe ISO8601
departureTime) (\s :: CalculateRouteMatrix
s@CalculateRouteMatrix' {} Maybe ISO8601
a -> CalculateRouteMatrix
s {$sel:departureTime:CalculateRouteMatrix' :: Maybe ISO8601
departureTime = Maybe ISO8601
a} :: CalculateRouteMatrix) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
calculateRouteMatrix_distanceUnit :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe DistanceUnit)
calculateRouteMatrix_distanceUnit :: Lens' CalculateRouteMatrix (Maybe DistanceUnit)
calculateRouteMatrix_distanceUnit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrix' {Maybe DistanceUnit
distanceUnit :: Maybe DistanceUnit
$sel:distanceUnit:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe DistanceUnit
distanceUnit} -> Maybe DistanceUnit
distanceUnit) (\s :: CalculateRouteMatrix
s@CalculateRouteMatrix' {} Maybe DistanceUnit
a -> CalculateRouteMatrix
s {$sel:distanceUnit:CalculateRouteMatrix' :: Maybe DistanceUnit
distanceUnit = Maybe DistanceUnit
a} :: CalculateRouteMatrix)
calculateRouteMatrix_travelMode :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe TravelMode)
calculateRouteMatrix_travelMode :: Lens' CalculateRouteMatrix (Maybe TravelMode)
calculateRouteMatrix_travelMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrix' {Maybe TravelMode
travelMode :: Maybe TravelMode
$sel:travelMode:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe TravelMode
travelMode} -> Maybe TravelMode
travelMode) (\s :: CalculateRouteMatrix
s@CalculateRouteMatrix' {} Maybe TravelMode
a -> CalculateRouteMatrix
s {$sel:travelMode:CalculateRouteMatrix' :: Maybe TravelMode
travelMode = Maybe TravelMode
a} :: CalculateRouteMatrix)
calculateRouteMatrix_truckModeOptions :: Lens.Lens' CalculateRouteMatrix (Prelude.Maybe CalculateRouteTruckModeOptions)
calculateRouteMatrix_truckModeOptions :: Lens' CalculateRouteMatrix (Maybe CalculateRouteTruckModeOptions)
calculateRouteMatrix_truckModeOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrix' {Maybe CalculateRouteTruckModeOptions
truckModeOptions :: Maybe CalculateRouteTruckModeOptions
$sel:truckModeOptions:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe CalculateRouteTruckModeOptions
truckModeOptions} -> Maybe CalculateRouteTruckModeOptions
truckModeOptions) (\s :: CalculateRouteMatrix
s@CalculateRouteMatrix' {} Maybe CalculateRouteTruckModeOptions
a -> CalculateRouteMatrix
s {$sel:truckModeOptions:CalculateRouteMatrix' :: Maybe CalculateRouteTruckModeOptions
truckModeOptions = Maybe CalculateRouteTruckModeOptions
a} :: CalculateRouteMatrix)
calculateRouteMatrix_calculatorName :: Lens.Lens' CalculateRouteMatrix Prelude.Text
calculateRouteMatrix_calculatorName :: Lens' CalculateRouteMatrix Text
calculateRouteMatrix_calculatorName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrix' {Text
calculatorName :: Text
$sel:calculatorName:CalculateRouteMatrix' :: CalculateRouteMatrix -> Text
calculatorName} -> Text
calculatorName) (\s :: CalculateRouteMatrix
s@CalculateRouteMatrix' {} Text
a -> CalculateRouteMatrix
s {$sel:calculatorName:CalculateRouteMatrix' :: Text
calculatorName = Text
a} :: CalculateRouteMatrix)
calculateRouteMatrix_departurePositions :: Lens.Lens' CalculateRouteMatrix (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double))
calculateRouteMatrix_departurePositions :: Lens' CalculateRouteMatrix (NonEmpty (NonEmpty Double))
calculateRouteMatrix_departurePositions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrix' {NonEmpty (Sensitive (NonEmpty Double))
departurePositions :: NonEmpty (Sensitive (NonEmpty Double))
$sel:departurePositions:CalculateRouteMatrix' :: CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
departurePositions} -> NonEmpty (Sensitive (NonEmpty Double))
departurePositions) (\s :: CalculateRouteMatrix
s@CalculateRouteMatrix' {} NonEmpty (Sensitive (NonEmpty Double))
a -> CalculateRouteMatrix
s {$sel:departurePositions:CalculateRouteMatrix' :: NonEmpty (Sensitive (NonEmpty Double))
departurePositions = NonEmpty (Sensitive (NonEmpty Double))
a} :: CalculateRouteMatrix) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
calculateRouteMatrix_destinationPositions :: Lens.Lens' CalculateRouteMatrix (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double))
calculateRouteMatrix_destinationPositions :: Lens' CalculateRouteMatrix (NonEmpty (NonEmpty Double))
calculateRouteMatrix_destinationPositions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrix' {NonEmpty (Sensitive (NonEmpty Double))
destinationPositions :: NonEmpty (Sensitive (NonEmpty Double))
$sel:destinationPositions:CalculateRouteMatrix' :: CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
destinationPositions} -> NonEmpty (Sensitive (NonEmpty Double))
destinationPositions) (\s :: CalculateRouteMatrix
s@CalculateRouteMatrix' {} NonEmpty (Sensitive (NonEmpty Double))
a -> CalculateRouteMatrix
s {$sel:destinationPositions:CalculateRouteMatrix' :: NonEmpty (Sensitive (NonEmpty Double))
destinationPositions = NonEmpty (Sensitive (NonEmpty Double))
a} :: CalculateRouteMatrix) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest CalculateRouteMatrix where
type
AWSResponse CalculateRouteMatrix =
CalculateRouteMatrixResponse
request :: (Service -> Service)
-> CalculateRouteMatrix -> Request CalculateRouteMatrix
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CalculateRouteMatrix
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CalculateRouteMatrix)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe (NonEmpty (Sensitive (NonEmpty Double)))
-> Maybe (NonEmpty (Sensitive (NonEmpty Double)))
-> Int
-> [[RouteMatrixEntry]]
-> CalculateRouteMatrixSummary
-> CalculateRouteMatrixResponse
CalculateRouteMatrixResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SnappedDeparturePositions")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SnappedDestinationPositions")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"RouteMatrix" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"Summary")
)
instance Prelude.Hashable CalculateRouteMatrix where
hashWithSalt :: Int -> CalculateRouteMatrix -> Int
hashWithSalt Int
_salt CalculateRouteMatrix' {Maybe Bool
Maybe ISO8601
Maybe CalculateRouteCarModeOptions
Maybe DistanceUnit
Maybe TravelMode
Maybe CalculateRouteTruckModeOptions
NonEmpty (Sensitive (NonEmpty Double))
Text
destinationPositions :: NonEmpty (Sensitive (NonEmpty Double))
departurePositions :: NonEmpty (Sensitive (NonEmpty Double))
calculatorName :: Text
truckModeOptions :: Maybe CalculateRouteTruckModeOptions
travelMode :: Maybe TravelMode
distanceUnit :: Maybe DistanceUnit
departureTime :: Maybe ISO8601
departNow :: Maybe Bool
carModeOptions :: Maybe CalculateRouteCarModeOptions
$sel:destinationPositions:CalculateRouteMatrix' :: CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
$sel:departurePositions:CalculateRouteMatrix' :: CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
$sel:calculatorName:CalculateRouteMatrix' :: CalculateRouteMatrix -> Text
$sel:truckModeOptions:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe CalculateRouteTruckModeOptions
$sel:travelMode:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe TravelMode
$sel:distanceUnit:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe DistanceUnit
$sel:departureTime:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe ISO8601
$sel:departNow:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe Bool
$sel:carModeOptions:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe CalculateRouteCarModeOptions
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CalculateRouteCarModeOptions
carModeOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
departNow
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ISO8601
departureTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DistanceUnit
distanceUnit
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TravelMode
travelMode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CalculateRouteTruckModeOptions
truckModeOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
calculatorName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty (Sensitive (NonEmpty Double))
departurePositions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty (Sensitive (NonEmpty Double))
destinationPositions
instance Prelude.NFData CalculateRouteMatrix where
rnf :: CalculateRouteMatrix -> ()
rnf CalculateRouteMatrix' {Maybe Bool
Maybe ISO8601
Maybe CalculateRouteCarModeOptions
Maybe DistanceUnit
Maybe TravelMode
Maybe CalculateRouteTruckModeOptions
NonEmpty (Sensitive (NonEmpty Double))
Text
destinationPositions :: NonEmpty (Sensitive (NonEmpty Double))
departurePositions :: NonEmpty (Sensitive (NonEmpty Double))
calculatorName :: Text
truckModeOptions :: Maybe CalculateRouteTruckModeOptions
travelMode :: Maybe TravelMode
distanceUnit :: Maybe DistanceUnit
departureTime :: Maybe ISO8601
departNow :: Maybe Bool
carModeOptions :: Maybe CalculateRouteCarModeOptions
$sel:destinationPositions:CalculateRouteMatrix' :: CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
$sel:departurePositions:CalculateRouteMatrix' :: CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
$sel:calculatorName:CalculateRouteMatrix' :: CalculateRouteMatrix -> Text
$sel:truckModeOptions:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe CalculateRouteTruckModeOptions
$sel:travelMode:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe TravelMode
$sel:distanceUnit:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe DistanceUnit
$sel:departureTime:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe ISO8601
$sel:departNow:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe Bool
$sel:carModeOptions:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe CalculateRouteCarModeOptions
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe CalculateRouteCarModeOptions
carModeOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
departNow
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ISO8601
departureTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DistanceUnit
distanceUnit
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TravelMode
travelMode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CalculateRouteTruckModeOptions
truckModeOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
calculatorName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty (Sensitive (NonEmpty Double))
departurePositions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty (Sensitive (NonEmpty Double))
destinationPositions
instance Data.ToHeaders CalculateRouteMatrix where
toHeaders :: CalculateRouteMatrix -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON CalculateRouteMatrix where
toJSON :: CalculateRouteMatrix -> Value
toJSON CalculateRouteMatrix' {Maybe Bool
Maybe ISO8601
Maybe CalculateRouteCarModeOptions
Maybe DistanceUnit
Maybe TravelMode
Maybe CalculateRouteTruckModeOptions
NonEmpty (Sensitive (NonEmpty Double))
Text
destinationPositions :: NonEmpty (Sensitive (NonEmpty Double))
departurePositions :: NonEmpty (Sensitive (NonEmpty Double))
calculatorName :: Text
truckModeOptions :: Maybe CalculateRouteTruckModeOptions
travelMode :: Maybe TravelMode
distanceUnit :: Maybe DistanceUnit
departureTime :: Maybe ISO8601
departNow :: Maybe Bool
carModeOptions :: Maybe CalculateRouteCarModeOptions
$sel:destinationPositions:CalculateRouteMatrix' :: CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
$sel:departurePositions:CalculateRouteMatrix' :: CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
$sel:calculatorName:CalculateRouteMatrix' :: CalculateRouteMatrix -> Text
$sel:truckModeOptions:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe CalculateRouteTruckModeOptions
$sel:travelMode:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe TravelMode
$sel:distanceUnit:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe DistanceUnit
$sel:departureTime:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe ISO8601
$sel:departNow:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe Bool
$sel:carModeOptions:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe CalculateRouteCarModeOptions
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"CarModeOptions" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CalculateRouteCarModeOptions
carModeOptions,
(Key
"DepartNow" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
departNow,
(Key
"DepartureTime" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ISO8601
departureTime,
(Key
"DistanceUnit" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DistanceUnit
distanceUnit,
(Key
"TravelMode" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TravelMode
travelMode,
(Key
"TruckModeOptions" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CalculateRouteTruckModeOptions
truckModeOptions,
forall a. a -> Maybe a
Prelude.Just
(Key
"DeparturePositions" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty (Sensitive (NonEmpty Double))
departurePositions),
forall a. a -> Maybe a
Prelude.Just
( Key
"DestinationPositions"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty (Sensitive (NonEmpty Double))
destinationPositions
)
]
)
instance Data.ToPath CalculateRouteMatrix where
toPath :: CalculateRouteMatrix -> ByteString
toPath CalculateRouteMatrix' {Maybe Bool
Maybe ISO8601
Maybe CalculateRouteCarModeOptions
Maybe DistanceUnit
Maybe TravelMode
Maybe CalculateRouteTruckModeOptions
NonEmpty (Sensitive (NonEmpty Double))
Text
destinationPositions :: NonEmpty (Sensitive (NonEmpty Double))
departurePositions :: NonEmpty (Sensitive (NonEmpty Double))
calculatorName :: Text
truckModeOptions :: Maybe CalculateRouteTruckModeOptions
travelMode :: Maybe TravelMode
distanceUnit :: Maybe DistanceUnit
departureTime :: Maybe ISO8601
departNow :: Maybe Bool
carModeOptions :: Maybe CalculateRouteCarModeOptions
$sel:destinationPositions:CalculateRouteMatrix' :: CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
$sel:departurePositions:CalculateRouteMatrix' :: CalculateRouteMatrix -> NonEmpty (Sensitive (NonEmpty Double))
$sel:calculatorName:CalculateRouteMatrix' :: CalculateRouteMatrix -> Text
$sel:truckModeOptions:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe CalculateRouteTruckModeOptions
$sel:travelMode:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe TravelMode
$sel:distanceUnit:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe DistanceUnit
$sel:departureTime:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe ISO8601
$sel:departNow:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe Bool
$sel:carModeOptions:CalculateRouteMatrix' :: CalculateRouteMatrix -> Maybe CalculateRouteCarModeOptions
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/routes/v0/calculators/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
calculatorName,
ByteString
"/calculate/route-matrix"
]
instance Data.ToQuery CalculateRouteMatrix where
toQuery :: CalculateRouteMatrix -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CalculateRouteMatrixResponse = CalculateRouteMatrixResponse'
{
CalculateRouteMatrixResponse
-> Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDeparturePositions :: Prelude.Maybe (Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double))),
CalculateRouteMatrixResponse
-> Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDestinationPositions :: Prelude.Maybe (Prelude.NonEmpty (Data.Sensitive (Prelude.NonEmpty Prelude.Double))),
CalculateRouteMatrixResponse -> Int
httpStatus :: Prelude.Int,
CalculateRouteMatrixResponse -> [[RouteMatrixEntry]]
routeMatrix :: [[RouteMatrixEntry]],
CalculateRouteMatrixResponse -> CalculateRouteMatrixSummary
summary :: CalculateRouteMatrixSummary
}
deriving (CalculateRouteMatrixResponse
-> CalculateRouteMatrixResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CalculateRouteMatrixResponse
-> CalculateRouteMatrixResponse -> Bool
$c/= :: CalculateRouteMatrixResponse
-> CalculateRouteMatrixResponse -> Bool
== :: CalculateRouteMatrixResponse
-> CalculateRouteMatrixResponse -> Bool
$c== :: CalculateRouteMatrixResponse
-> CalculateRouteMatrixResponse -> Bool
Prelude.Eq, Int -> CalculateRouteMatrixResponse -> ShowS
[CalculateRouteMatrixResponse] -> ShowS
CalculateRouteMatrixResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CalculateRouteMatrixResponse] -> ShowS
$cshowList :: [CalculateRouteMatrixResponse] -> ShowS
show :: CalculateRouteMatrixResponse -> String
$cshow :: CalculateRouteMatrixResponse -> String
showsPrec :: Int -> CalculateRouteMatrixResponse -> ShowS
$cshowsPrec :: Int -> CalculateRouteMatrixResponse -> ShowS
Prelude.Show, forall x.
Rep CalculateRouteMatrixResponse x -> CalculateRouteMatrixResponse
forall x.
CalculateRouteMatrixResponse -> Rep CalculateRouteMatrixResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CalculateRouteMatrixResponse x -> CalculateRouteMatrixResponse
$cfrom :: forall x.
CalculateRouteMatrixResponse -> Rep CalculateRouteMatrixResponse x
Prelude.Generic)
newCalculateRouteMatrixResponse ::
Prelude.Int ->
CalculateRouteMatrixSummary ->
CalculateRouteMatrixResponse
newCalculateRouteMatrixResponse :: Int -> CalculateRouteMatrixSummary -> CalculateRouteMatrixResponse
newCalculateRouteMatrixResponse
Int
pHttpStatus_
CalculateRouteMatrixSummary
pSummary_ =
CalculateRouteMatrixResponse'
{ $sel:snappedDeparturePositions:CalculateRouteMatrixResponse' :: Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDeparturePositions =
forall a. Maybe a
Prelude.Nothing,
$sel:snappedDestinationPositions:CalculateRouteMatrixResponse' :: Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDestinationPositions = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CalculateRouteMatrixResponse' :: Int
httpStatus = Int
pHttpStatus_,
$sel:routeMatrix:CalculateRouteMatrixResponse' :: [[RouteMatrixEntry]]
routeMatrix = forall a. Monoid a => a
Prelude.mempty,
$sel:summary:CalculateRouteMatrixResponse' :: CalculateRouteMatrixSummary
summary = CalculateRouteMatrixSummary
pSummary_
}
calculateRouteMatrixResponse_snappedDeparturePositions :: Lens.Lens' CalculateRouteMatrixResponse (Prelude.Maybe (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double)))
calculateRouteMatrixResponse_snappedDeparturePositions :: Lens'
CalculateRouteMatrixResponse (Maybe (NonEmpty (NonEmpty Double)))
calculateRouteMatrixResponse_snappedDeparturePositions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrixResponse' {Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDeparturePositions :: Maybe (NonEmpty (Sensitive (NonEmpty Double)))
$sel:snappedDeparturePositions:CalculateRouteMatrixResponse' :: CalculateRouteMatrixResponse
-> Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDeparturePositions} -> Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDeparturePositions) (\s :: CalculateRouteMatrixResponse
s@CalculateRouteMatrixResponse' {} Maybe (NonEmpty (Sensitive (NonEmpty Double)))
a -> CalculateRouteMatrixResponse
s {$sel:snappedDeparturePositions:CalculateRouteMatrixResponse' :: Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDeparturePositions = Maybe (NonEmpty (Sensitive (NonEmpty Double)))
a} :: CalculateRouteMatrixResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
calculateRouteMatrixResponse_snappedDestinationPositions :: Lens.Lens' CalculateRouteMatrixResponse (Prelude.Maybe (Prelude.NonEmpty (Prelude.NonEmpty Prelude.Double)))
calculateRouteMatrixResponse_snappedDestinationPositions :: Lens'
CalculateRouteMatrixResponse (Maybe (NonEmpty (NonEmpty Double)))
calculateRouteMatrixResponse_snappedDestinationPositions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrixResponse' {Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDestinationPositions :: Maybe (NonEmpty (Sensitive (NonEmpty Double)))
$sel:snappedDestinationPositions:CalculateRouteMatrixResponse' :: CalculateRouteMatrixResponse
-> Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDestinationPositions} -> Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDestinationPositions) (\s :: CalculateRouteMatrixResponse
s@CalculateRouteMatrixResponse' {} Maybe (NonEmpty (Sensitive (NonEmpty Double)))
a -> CalculateRouteMatrixResponse
s {$sel:snappedDestinationPositions:CalculateRouteMatrixResponse' :: Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDestinationPositions = Maybe (NonEmpty (Sensitive (NonEmpty Double)))
a} :: CalculateRouteMatrixResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
calculateRouteMatrixResponse_httpStatus :: Lens.Lens' CalculateRouteMatrixResponse Prelude.Int
calculateRouteMatrixResponse_httpStatus :: Lens' CalculateRouteMatrixResponse Int
calculateRouteMatrixResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrixResponse' {Int
httpStatus :: Int
$sel:httpStatus:CalculateRouteMatrixResponse' :: CalculateRouteMatrixResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CalculateRouteMatrixResponse
s@CalculateRouteMatrixResponse' {} Int
a -> CalculateRouteMatrixResponse
s {$sel:httpStatus:CalculateRouteMatrixResponse' :: Int
httpStatus = Int
a} :: CalculateRouteMatrixResponse)
calculateRouteMatrixResponse_routeMatrix :: Lens.Lens' CalculateRouteMatrixResponse [[RouteMatrixEntry]]
calculateRouteMatrixResponse_routeMatrix :: Lens' CalculateRouteMatrixResponse [[RouteMatrixEntry]]
calculateRouteMatrixResponse_routeMatrix = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrixResponse' {[[RouteMatrixEntry]]
routeMatrix :: [[RouteMatrixEntry]]
$sel:routeMatrix:CalculateRouteMatrixResponse' :: CalculateRouteMatrixResponse -> [[RouteMatrixEntry]]
routeMatrix} -> [[RouteMatrixEntry]]
routeMatrix) (\s :: CalculateRouteMatrixResponse
s@CalculateRouteMatrixResponse' {} [[RouteMatrixEntry]]
a -> CalculateRouteMatrixResponse
s {$sel:routeMatrix:CalculateRouteMatrixResponse' :: [[RouteMatrixEntry]]
routeMatrix = [[RouteMatrixEntry]]
a} :: CalculateRouteMatrixResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
calculateRouteMatrixResponse_summary :: Lens.Lens' CalculateRouteMatrixResponse CalculateRouteMatrixSummary
calculateRouteMatrixResponse_summary :: Lens' CalculateRouteMatrixResponse CalculateRouteMatrixSummary
calculateRouteMatrixResponse_summary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CalculateRouteMatrixResponse' {CalculateRouteMatrixSummary
summary :: CalculateRouteMatrixSummary
$sel:summary:CalculateRouteMatrixResponse' :: CalculateRouteMatrixResponse -> CalculateRouteMatrixSummary
summary} -> CalculateRouteMatrixSummary
summary) (\s :: CalculateRouteMatrixResponse
s@CalculateRouteMatrixResponse' {} CalculateRouteMatrixSummary
a -> CalculateRouteMatrixResponse
s {$sel:summary:CalculateRouteMatrixResponse' :: CalculateRouteMatrixSummary
summary = CalculateRouteMatrixSummary
a} :: CalculateRouteMatrixResponse)
instance Prelude.NFData CalculateRouteMatrixResponse where
rnf :: CalculateRouteMatrixResponse -> ()
rnf CalculateRouteMatrixResponse' {Int
[[RouteMatrixEntry]]
Maybe (NonEmpty (Sensitive (NonEmpty Double)))
CalculateRouteMatrixSummary
summary :: CalculateRouteMatrixSummary
routeMatrix :: [[RouteMatrixEntry]]
httpStatus :: Int
snappedDestinationPositions :: Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDeparturePositions :: Maybe (NonEmpty (Sensitive (NonEmpty Double)))
$sel:summary:CalculateRouteMatrixResponse' :: CalculateRouteMatrixResponse -> CalculateRouteMatrixSummary
$sel:routeMatrix:CalculateRouteMatrixResponse' :: CalculateRouteMatrixResponse -> [[RouteMatrixEntry]]
$sel:httpStatus:CalculateRouteMatrixResponse' :: CalculateRouteMatrixResponse -> Int
$sel:snappedDestinationPositions:CalculateRouteMatrixResponse' :: CalculateRouteMatrixResponse
-> Maybe (NonEmpty (Sensitive (NonEmpty Double)))
$sel:snappedDeparturePositions:CalculateRouteMatrixResponse' :: CalculateRouteMatrixResponse
-> Maybe (NonEmpty (Sensitive (NonEmpty Double)))
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDeparturePositions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty (Sensitive (NonEmpty Double)))
snappedDestinationPositions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [[RouteMatrixEntry]]
routeMatrix
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf CalculateRouteMatrixSummary
summary