{-# 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.CodeCommit.UpdatePullRequestStatus
(
UpdatePullRequestStatus (..),
newUpdatePullRequestStatus,
updatePullRequestStatus_pullRequestId,
updatePullRequestStatus_pullRequestStatus,
UpdatePullRequestStatusResponse (..),
newUpdatePullRequestStatusResponse,
updatePullRequestStatusResponse_httpStatus,
updatePullRequestStatusResponse_pullRequest,
)
where
import Amazonka.CodeCommit.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data UpdatePullRequestStatus = UpdatePullRequestStatus'
{
UpdatePullRequestStatus -> Text
pullRequestId :: Prelude.Text,
UpdatePullRequestStatus -> PullRequestStatusEnum
pullRequestStatus :: PullRequestStatusEnum
}
deriving (UpdatePullRequestStatus -> UpdatePullRequestStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdatePullRequestStatus -> UpdatePullRequestStatus -> Bool
$c/= :: UpdatePullRequestStatus -> UpdatePullRequestStatus -> Bool
== :: UpdatePullRequestStatus -> UpdatePullRequestStatus -> Bool
$c== :: UpdatePullRequestStatus -> UpdatePullRequestStatus -> Bool
Prelude.Eq, ReadPrec [UpdatePullRequestStatus]
ReadPrec UpdatePullRequestStatus
Int -> ReadS UpdatePullRequestStatus
ReadS [UpdatePullRequestStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdatePullRequestStatus]
$creadListPrec :: ReadPrec [UpdatePullRequestStatus]
readPrec :: ReadPrec UpdatePullRequestStatus
$creadPrec :: ReadPrec UpdatePullRequestStatus
readList :: ReadS [UpdatePullRequestStatus]
$creadList :: ReadS [UpdatePullRequestStatus]
readsPrec :: Int -> ReadS UpdatePullRequestStatus
$creadsPrec :: Int -> ReadS UpdatePullRequestStatus
Prelude.Read, Int -> UpdatePullRequestStatus -> ShowS
[UpdatePullRequestStatus] -> ShowS
UpdatePullRequestStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdatePullRequestStatus] -> ShowS
$cshowList :: [UpdatePullRequestStatus] -> ShowS
show :: UpdatePullRequestStatus -> String
$cshow :: UpdatePullRequestStatus -> String
showsPrec :: Int -> UpdatePullRequestStatus -> ShowS
$cshowsPrec :: Int -> UpdatePullRequestStatus -> ShowS
Prelude.Show, forall x. Rep UpdatePullRequestStatus x -> UpdatePullRequestStatus
forall x. UpdatePullRequestStatus -> Rep UpdatePullRequestStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdatePullRequestStatus x -> UpdatePullRequestStatus
$cfrom :: forall x. UpdatePullRequestStatus -> Rep UpdatePullRequestStatus x
Prelude.Generic)
newUpdatePullRequestStatus ::
Prelude.Text ->
PullRequestStatusEnum ->
UpdatePullRequestStatus
newUpdatePullRequestStatus :: Text -> PullRequestStatusEnum -> UpdatePullRequestStatus
newUpdatePullRequestStatus
Text
pPullRequestId_
PullRequestStatusEnum
pPullRequestStatus_ =
UpdatePullRequestStatus'
{ $sel:pullRequestId:UpdatePullRequestStatus' :: Text
pullRequestId =
Text
pPullRequestId_,
$sel:pullRequestStatus:UpdatePullRequestStatus' :: PullRequestStatusEnum
pullRequestStatus = PullRequestStatusEnum
pPullRequestStatus_
}
updatePullRequestStatus_pullRequestId :: Lens.Lens' UpdatePullRequestStatus Prelude.Text
updatePullRequestStatus_pullRequestId :: Lens' UpdatePullRequestStatus Text
updatePullRequestStatus_pullRequestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePullRequestStatus' {Text
pullRequestId :: Text
$sel:pullRequestId:UpdatePullRequestStatus' :: UpdatePullRequestStatus -> Text
pullRequestId} -> Text
pullRequestId) (\s :: UpdatePullRequestStatus
s@UpdatePullRequestStatus' {} Text
a -> UpdatePullRequestStatus
s {$sel:pullRequestId:UpdatePullRequestStatus' :: Text
pullRequestId = Text
a} :: UpdatePullRequestStatus)
updatePullRequestStatus_pullRequestStatus :: Lens.Lens' UpdatePullRequestStatus PullRequestStatusEnum
updatePullRequestStatus_pullRequestStatus :: Lens' UpdatePullRequestStatus PullRequestStatusEnum
updatePullRequestStatus_pullRequestStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePullRequestStatus' {PullRequestStatusEnum
pullRequestStatus :: PullRequestStatusEnum
$sel:pullRequestStatus:UpdatePullRequestStatus' :: UpdatePullRequestStatus -> PullRequestStatusEnum
pullRequestStatus} -> PullRequestStatusEnum
pullRequestStatus) (\s :: UpdatePullRequestStatus
s@UpdatePullRequestStatus' {} PullRequestStatusEnum
a -> UpdatePullRequestStatus
s {$sel:pullRequestStatus:UpdatePullRequestStatus' :: PullRequestStatusEnum
pullRequestStatus = PullRequestStatusEnum
a} :: UpdatePullRequestStatus)
instance Core.AWSRequest UpdatePullRequestStatus where
type
AWSResponse UpdatePullRequestStatus =
UpdatePullRequestStatusResponse
request :: (Service -> Service)
-> UpdatePullRequestStatus -> Request UpdatePullRequestStatus
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 UpdatePullRequestStatus
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdatePullRequestStatus)))
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 -> PullRequest -> UpdatePullRequestStatusResponse
UpdatePullRequestStatusResponse'
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.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"pullRequest")
)
instance Prelude.Hashable UpdatePullRequestStatus where
hashWithSalt :: Int -> UpdatePullRequestStatus -> Int
hashWithSalt Int
_salt UpdatePullRequestStatus' {Text
PullRequestStatusEnum
pullRequestStatus :: PullRequestStatusEnum
pullRequestId :: Text
$sel:pullRequestStatus:UpdatePullRequestStatus' :: UpdatePullRequestStatus -> PullRequestStatusEnum
$sel:pullRequestId:UpdatePullRequestStatus' :: UpdatePullRequestStatus -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
pullRequestId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` PullRequestStatusEnum
pullRequestStatus
instance Prelude.NFData UpdatePullRequestStatus where
rnf :: UpdatePullRequestStatus -> ()
rnf UpdatePullRequestStatus' {Text
PullRequestStatusEnum
pullRequestStatus :: PullRequestStatusEnum
pullRequestId :: Text
$sel:pullRequestStatus:UpdatePullRequestStatus' :: UpdatePullRequestStatus -> PullRequestStatusEnum
$sel:pullRequestId:UpdatePullRequestStatus' :: UpdatePullRequestStatus -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
pullRequestId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PullRequestStatusEnum
pullRequestStatus
instance Data.ToHeaders UpdatePullRequestStatus where
toHeaders :: UpdatePullRequestStatus -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"CodeCommit_20150413.UpdatePullRequestStatus" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdatePullRequestStatus where
toJSON :: UpdatePullRequestStatus -> Value
toJSON UpdatePullRequestStatus' {Text
PullRequestStatusEnum
pullRequestStatus :: PullRequestStatusEnum
pullRequestId :: Text
$sel:pullRequestStatus:UpdatePullRequestStatus' :: UpdatePullRequestStatus -> PullRequestStatusEnum
$sel:pullRequestId:UpdatePullRequestStatus' :: UpdatePullRequestStatus -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"pullRequestId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
pullRequestId),
forall a. a -> Maybe a
Prelude.Just
(Key
"pullRequestStatus" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= PullRequestStatusEnum
pullRequestStatus)
]
)
instance Data.ToPath UpdatePullRequestStatus where
toPath :: UpdatePullRequestStatus -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdatePullRequestStatus where
toQuery :: UpdatePullRequestStatus -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdatePullRequestStatusResponse = UpdatePullRequestStatusResponse'
{
UpdatePullRequestStatusResponse -> Int
httpStatus :: Prelude.Int,
UpdatePullRequestStatusResponse -> PullRequest
pullRequest :: PullRequest
}
deriving (UpdatePullRequestStatusResponse
-> UpdatePullRequestStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdatePullRequestStatusResponse
-> UpdatePullRequestStatusResponse -> Bool
$c/= :: UpdatePullRequestStatusResponse
-> UpdatePullRequestStatusResponse -> Bool
== :: UpdatePullRequestStatusResponse
-> UpdatePullRequestStatusResponse -> Bool
$c== :: UpdatePullRequestStatusResponse
-> UpdatePullRequestStatusResponse -> Bool
Prelude.Eq, ReadPrec [UpdatePullRequestStatusResponse]
ReadPrec UpdatePullRequestStatusResponse
Int -> ReadS UpdatePullRequestStatusResponse
ReadS [UpdatePullRequestStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdatePullRequestStatusResponse]
$creadListPrec :: ReadPrec [UpdatePullRequestStatusResponse]
readPrec :: ReadPrec UpdatePullRequestStatusResponse
$creadPrec :: ReadPrec UpdatePullRequestStatusResponse
readList :: ReadS [UpdatePullRequestStatusResponse]
$creadList :: ReadS [UpdatePullRequestStatusResponse]
readsPrec :: Int -> ReadS UpdatePullRequestStatusResponse
$creadsPrec :: Int -> ReadS UpdatePullRequestStatusResponse
Prelude.Read, Int -> UpdatePullRequestStatusResponse -> ShowS
[UpdatePullRequestStatusResponse] -> ShowS
UpdatePullRequestStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdatePullRequestStatusResponse] -> ShowS
$cshowList :: [UpdatePullRequestStatusResponse] -> ShowS
show :: UpdatePullRequestStatusResponse -> String
$cshow :: UpdatePullRequestStatusResponse -> String
showsPrec :: Int -> UpdatePullRequestStatusResponse -> ShowS
$cshowsPrec :: Int -> UpdatePullRequestStatusResponse -> ShowS
Prelude.Show, forall x.
Rep UpdatePullRequestStatusResponse x
-> UpdatePullRequestStatusResponse
forall x.
UpdatePullRequestStatusResponse
-> Rep UpdatePullRequestStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdatePullRequestStatusResponse x
-> UpdatePullRequestStatusResponse
$cfrom :: forall x.
UpdatePullRequestStatusResponse
-> Rep UpdatePullRequestStatusResponse x
Prelude.Generic)
newUpdatePullRequestStatusResponse ::
Prelude.Int ->
PullRequest ->
UpdatePullRequestStatusResponse
newUpdatePullRequestStatusResponse :: Int -> PullRequest -> UpdatePullRequestStatusResponse
newUpdatePullRequestStatusResponse
Int
pHttpStatus_
PullRequest
pPullRequest_ =
UpdatePullRequestStatusResponse'
{ $sel:httpStatus:UpdatePullRequestStatusResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:pullRequest:UpdatePullRequestStatusResponse' :: PullRequest
pullRequest = PullRequest
pPullRequest_
}
updatePullRequestStatusResponse_httpStatus :: Lens.Lens' UpdatePullRequestStatusResponse Prelude.Int
updatePullRequestStatusResponse_httpStatus :: Lens' UpdatePullRequestStatusResponse Int
updatePullRequestStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePullRequestStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdatePullRequestStatusResponse' :: UpdatePullRequestStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdatePullRequestStatusResponse
s@UpdatePullRequestStatusResponse' {} Int
a -> UpdatePullRequestStatusResponse
s {$sel:httpStatus:UpdatePullRequestStatusResponse' :: Int
httpStatus = Int
a} :: UpdatePullRequestStatusResponse)
updatePullRequestStatusResponse_pullRequest :: Lens.Lens' UpdatePullRequestStatusResponse PullRequest
updatePullRequestStatusResponse_pullRequest :: Lens' UpdatePullRequestStatusResponse PullRequest
updatePullRequestStatusResponse_pullRequest = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePullRequestStatusResponse' {PullRequest
pullRequest :: PullRequest
$sel:pullRequest:UpdatePullRequestStatusResponse' :: UpdatePullRequestStatusResponse -> PullRequest
pullRequest} -> PullRequest
pullRequest) (\s :: UpdatePullRequestStatusResponse
s@UpdatePullRequestStatusResponse' {} PullRequest
a -> UpdatePullRequestStatusResponse
s {$sel:pullRequest:UpdatePullRequestStatusResponse' :: PullRequest
pullRequest = PullRequest
a} :: UpdatePullRequestStatusResponse)
instance
Prelude.NFData
UpdatePullRequestStatusResponse
where
rnf :: UpdatePullRequestStatusResponse -> ()
rnf UpdatePullRequestStatusResponse' {Int
PullRequest
pullRequest :: PullRequest
httpStatus :: Int
$sel:pullRequest:UpdatePullRequestStatusResponse' :: UpdatePullRequestStatusResponse -> PullRequest
$sel:httpStatus:UpdatePullRequestStatusResponse' :: UpdatePullRequestStatusResponse -> 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 PullRequest
pullRequest