{-# 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.Pinpoint.UpdateJourneyState
(
UpdateJourneyState (..),
newUpdateJourneyState,
updateJourneyState_journeyId,
updateJourneyState_applicationId,
updateJourneyState_journeyStateRequest,
UpdateJourneyStateResponse (..),
newUpdateJourneyStateResponse,
updateJourneyStateResponse_httpStatus,
updateJourneyStateResponse_journeyResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Pinpoint.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data UpdateJourneyState = UpdateJourneyState'
{
UpdateJourneyState -> Text
journeyId :: Prelude.Text,
UpdateJourneyState -> Text
applicationId :: Prelude.Text,
UpdateJourneyState -> JourneyStateRequest
journeyStateRequest :: JourneyStateRequest
}
deriving (UpdateJourneyState -> UpdateJourneyState -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateJourneyState -> UpdateJourneyState -> Bool
$c/= :: UpdateJourneyState -> UpdateJourneyState -> Bool
== :: UpdateJourneyState -> UpdateJourneyState -> Bool
$c== :: UpdateJourneyState -> UpdateJourneyState -> Bool
Prelude.Eq, ReadPrec [UpdateJourneyState]
ReadPrec UpdateJourneyState
Int -> ReadS UpdateJourneyState
ReadS [UpdateJourneyState]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateJourneyState]
$creadListPrec :: ReadPrec [UpdateJourneyState]
readPrec :: ReadPrec UpdateJourneyState
$creadPrec :: ReadPrec UpdateJourneyState
readList :: ReadS [UpdateJourneyState]
$creadList :: ReadS [UpdateJourneyState]
readsPrec :: Int -> ReadS UpdateJourneyState
$creadsPrec :: Int -> ReadS UpdateJourneyState
Prelude.Read, Int -> UpdateJourneyState -> ShowS
[UpdateJourneyState] -> ShowS
UpdateJourneyState -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateJourneyState] -> ShowS
$cshowList :: [UpdateJourneyState] -> ShowS
show :: UpdateJourneyState -> String
$cshow :: UpdateJourneyState -> String
showsPrec :: Int -> UpdateJourneyState -> ShowS
$cshowsPrec :: Int -> UpdateJourneyState -> ShowS
Prelude.Show, forall x. Rep UpdateJourneyState x -> UpdateJourneyState
forall x. UpdateJourneyState -> Rep UpdateJourneyState x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateJourneyState x -> UpdateJourneyState
$cfrom :: forall x. UpdateJourneyState -> Rep UpdateJourneyState x
Prelude.Generic)
newUpdateJourneyState ::
Prelude.Text ->
Prelude.Text ->
JourneyStateRequest ->
UpdateJourneyState
newUpdateJourneyState :: Text -> Text -> JourneyStateRequest -> UpdateJourneyState
newUpdateJourneyState
Text
pJourneyId_
Text
pApplicationId_
JourneyStateRequest
pJourneyStateRequest_ =
UpdateJourneyState'
{ $sel:journeyId:UpdateJourneyState' :: Text
journeyId = Text
pJourneyId_,
$sel:applicationId:UpdateJourneyState' :: Text
applicationId = Text
pApplicationId_,
$sel:journeyStateRequest:UpdateJourneyState' :: JourneyStateRequest
journeyStateRequest = JourneyStateRequest
pJourneyStateRequest_
}
updateJourneyState_journeyId :: Lens.Lens' UpdateJourneyState Prelude.Text
updateJourneyState_journeyId :: Lens' UpdateJourneyState Text
updateJourneyState_journeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateJourneyState' {Text
journeyId :: Text
$sel:journeyId:UpdateJourneyState' :: UpdateJourneyState -> Text
journeyId} -> Text
journeyId) (\s :: UpdateJourneyState
s@UpdateJourneyState' {} Text
a -> UpdateJourneyState
s {$sel:journeyId:UpdateJourneyState' :: Text
journeyId = Text
a} :: UpdateJourneyState)
updateJourneyState_applicationId :: Lens.Lens' UpdateJourneyState Prelude.Text
updateJourneyState_applicationId :: Lens' UpdateJourneyState Text
updateJourneyState_applicationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateJourneyState' {Text
applicationId :: Text
$sel:applicationId:UpdateJourneyState' :: UpdateJourneyState -> Text
applicationId} -> Text
applicationId) (\s :: UpdateJourneyState
s@UpdateJourneyState' {} Text
a -> UpdateJourneyState
s {$sel:applicationId:UpdateJourneyState' :: Text
applicationId = Text
a} :: UpdateJourneyState)
updateJourneyState_journeyStateRequest :: Lens.Lens' UpdateJourneyState JourneyStateRequest
updateJourneyState_journeyStateRequest :: Lens' UpdateJourneyState JourneyStateRequest
updateJourneyState_journeyStateRequest = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateJourneyState' {JourneyStateRequest
journeyStateRequest :: JourneyStateRequest
$sel:journeyStateRequest:UpdateJourneyState' :: UpdateJourneyState -> JourneyStateRequest
journeyStateRequest} -> JourneyStateRequest
journeyStateRequest) (\s :: UpdateJourneyState
s@UpdateJourneyState' {} JourneyStateRequest
a -> UpdateJourneyState
s {$sel:journeyStateRequest:UpdateJourneyState' :: JourneyStateRequest
journeyStateRequest = JourneyStateRequest
a} :: UpdateJourneyState)
instance Core.AWSRequest UpdateJourneyState where
type
AWSResponse UpdateJourneyState =
UpdateJourneyStateResponse
request :: (Service -> Service)
-> UpdateJourneyState -> Request UpdateJourneyState
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateJourneyState
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateJourneyState)))
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 ->
Int -> JourneyResponse -> UpdateJourneyStateResponse
UpdateJourneyStateResponse'
forall (f :: * -> *) a b. Functor 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.<*> (forall a. FromJSON a => Object -> Either String a
Data.eitherParseJSON Object
x)
)
instance Prelude.Hashable UpdateJourneyState where
hashWithSalt :: Int -> UpdateJourneyState -> Int
hashWithSalt Int
_salt UpdateJourneyState' {Text
JourneyStateRequest
journeyStateRequest :: JourneyStateRequest
applicationId :: Text
journeyId :: Text
$sel:journeyStateRequest:UpdateJourneyState' :: UpdateJourneyState -> JourneyStateRequest
$sel:applicationId:UpdateJourneyState' :: UpdateJourneyState -> Text
$sel:journeyId:UpdateJourneyState' :: UpdateJourneyState -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
journeyId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` JourneyStateRequest
journeyStateRequest
instance Prelude.NFData UpdateJourneyState where
rnf :: UpdateJourneyState -> ()
rnf UpdateJourneyState' {Text
JourneyStateRequest
journeyStateRequest :: JourneyStateRequest
applicationId :: Text
journeyId :: Text
$sel:journeyStateRequest:UpdateJourneyState' :: UpdateJourneyState -> JourneyStateRequest
$sel:applicationId:UpdateJourneyState' :: UpdateJourneyState -> Text
$sel:journeyId:UpdateJourneyState' :: UpdateJourneyState -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
journeyId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
applicationId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf JourneyStateRequest
journeyStateRequest
instance Data.ToHeaders UpdateJourneyState where
toHeaders :: UpdateJourneyState -> 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 UpdateJourneyState where
toJSON :: UpdateJourneyState -> Value
toJSON UpdateJourneyState' {Text
JourneyStateRequest
journeyStateRequest :: JourneyStateRequest
applicationId :: Text
journeyId :: Text
$sel:journeyStateRequest:UpdateJourneyState' :: UpdateJourneyState -> JourneyStateRequest
$sel:applicationId:UpdateJourneyState' :: UpdateJourneyState -> Text
$sel:journeyId:UpdateJourneyState' :: UpdateJourneyState -> Text
..} =
forall a. ToJSON a => a -> Value
Data.toJSON JourneyStateRequest
journeyStateRequest
instance Data.ToPath UpdateJourneyState where
toPath :: UpdateJourneyState -> ByteString
toPath UpdateJourneyState' {Text
JourneyStateRequest
journeyStateRequest :: JourneyStateRequest
applicationId :: Text
journeyId :: Text
$sel:journeyStateRequest:UpdateJourneyState' :: UpdateJourneyState -> JourneyStateRequest
$sel:applicationId:UpdateJourneyState' :: UpdateJourneyState -> Text
$sel:journeyId:UpdateJourneyState' :: UpdateJourneyState -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/v1/apps/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
applicationId,
ByteString
"/journeys/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
journeyId,
ByteString
"/state"
]
instance Data.ToQuery UpdateJourneyState where
toQuery :: UpdateJourneyState -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateJourneyStateResponse = UpdateJourneyStateResponse'
{
UpdateJourneyStateResponse -> Int
httpStatus :: Prelude.Int,
UpdateJourneyStateResponse -> JourneyResponse
journeyResponse :: JourneyResponse
}
deriving (UpdateJourneyStateResponse -> UpdateJourneyStateResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateJourneyStateResponse -> UpdateJourneyStateResponse -> Bool
$c/= :: UpdateJourneyStateResponse -> UpdateJourneyStateResponse -> Bool
== :: UpdateJourneyStateResponse -> UpdateJourneyStateResponse -> Bool
$c== :: UpdateJourneyStateResponse -> UpdateJourneyStateResponse -> Bool
Prelude.Eq, ReadPrec [UpdateJourneyStateResponse]
ReadPrec UpdateJourneyStateResponse
Int -> ReadS UpdateJourneyStateResponse
ReadS [UpdateJourneyStateResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateJourneyStateResponse]
$creadListPrec :: ReadPrec [UpdateJourneyStateResponse]
readPrec :: ReadPrec UpdateJourneyStateResponse
$creadPrec :: ReadPrec UpdateJourneyStateResponse
readList :: ReadS [UpdateJourneyStateResponse]
$creadList :: ReadS [UpdateJourneyStateResponse]
readsPrec :: Int -> ReadS UpdateJourneyStateResponse
$creadsPrec :: Int -> ReadS UpdateJourneyStateResponse
Prelude.Read, Int -> UpdateJourneyStateResponse -> ShowS
[UpdateJourneyStateResponse] -> ShowS
UpdateJourneyStateResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateJourneyStateResponse] -> ShowS
$cshowList :: [UpdateJourneyStateResponse] -> ShowS
show :: UpdateJourneyStateResponse -> String
$cshow :: UpdateJourneyStateResponse -> String
showsPrec :: Int -> UpdateJourneyStateResponse -> ShowS
$cshowsPrec :: Int -> UpdateJourneyStateResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateJourneyStateResponse x -> UpdateJourneyStateResponse
forall x.
UpdateJourneyStateResponse -> Rep UpdateJourneyStateResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateJourneyStateResponse x -> UpdateJourneyStateResponse
$cfrom :: forall x.
UpdateJourneyStateResponse -> Rep UpdateJourneyStateResponse x
Prelude.Generic)
newUpdateJourneyStateResponse ::
Prelude.Int ->
JourneyResponse ->
UpdateJourneyStateResponse
newUpdateJourneyStateResponse :: Int -> JourneyResponse -> UpdateJourneyStateResponse
newUpdateJourneyStateResponse
Int
pHttpStatus_
JourneyResponse
pJourneyResponse_ =
UpdateJourneyStateResponse'
{ $sel:httpStatus:UpdateJourneyStateResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:journeyResponse:UpdateJourneyStateResponse' :: JourneyResponse
journeyResponse = JourneyResponse
pJourneyResponse_
}
updateJourneyStateResponse_httpStatus :: Lens.Lens' UpdateJourneyStateResponse Prelude.Int
updateJourneyStateResponse_httpStatus :: Lens' UpdateJourneyStateResponse Int
updateJourneyStateResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateJourneyStateResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateJourneyStateResponse' :: UpdateJourneyStateResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateJourneyStateResponse
s@UpdateJourneyStateResponse' {} Int
a -> UpdateJourneyStateResponse
s {$sel:httpStatus:UpdateJourneyStateResponse' :: Int
httpStatus = Int
a} :: UpdateJourneyStateResponse)
updateJourneyStateResponse_journeyResponse :: Lens.Lens' UpdateJourneyStateResponse JourneyResponse
updateJourneyStateResponse_journeyResponse :: Lens' UpdateJourneyStateResponse JourneyResponse
updateJourneyStateResponse_journeyResponse = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateJourneyStateResponse' {JourneyResponse
journeyResponse :: JourneyResponse
$sel:journeyResponse:UpdateJourneyStateResponse' :: UpdateJourneyStateResponse -> JourneyResponse
journeyResponse} -> JourneyResponse
journeyResponse) (\s :: UpdateJourneyStateResponse
s@UpdateJourneyStateResponse' {} JourneyResponse
a -> UpdateJourneyStateResponse
s {$sel:journeyResponse:UpdateJourneyStateResponse' :: JourneyResponse
journeyResponse = JourneyResponse
a} :: UpdateJourneyStateResponse)
instance Prelude.NFData UpdateJourneyStateResponse where
rnf :: UpdateJourneyStateResponse -> ()
rnf UpdateJourneyStateResponse' {Int
JourneyResponse
journeyResponse :: JourneyResponse
httpStatus :: Int
$sel:journeyResponse:UpdateJourneyStateResponse' :: UpdateJourneyStateResponse -> JourneyResponse
$sel:httpStatus:UpdateJourneyStateResponse' :: UpdateJourneyStateResponse -> Int
..} =
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 JourneyResponse
journeyResponse