{-# 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.CreateApprovalRuleTemplate
(
CreateApprovalRuleTemplate (..),
newCreateApprovalRuleTemplate,
createApprovalRuleTemplate_approvalRuleTemplateDescription,
createApprovalRuleTemplate_approvalRuleTemplateName,
createApprovalRuleTemplate_approvalRuleTemplateContent,
CreateApprovalRuleTemplateResponse (..),
newCreateApprovalRuleTemplateResponse,
createApprovalRuleTemplateResponse_httpStatus,
createApprovalRuleTemplateResponse_approvalRuleTemplate,
)
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 CreateApprovalRuleTemplate = CreateApprovalRuleTemplate'
{
CreateApprovalRuleTemplate -> Maybe Text
approvalRuleTemplateDescription :: Prelude.Maybe Prelude.Text,
CreateApprovalRuleTemplate -> Text
approvalRuleTemplateName :: Prelude.Text,
CreateApprovalRuleTemplate -> Text
approvalRuleTemplateContent :: Prelude.Text
}
deriving (CreateApprovalRuleTemplate -> CreateApprovalRuleTemplate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateApprovalRuleTemplate -> CreateApprovalRuleTemplate -> Bool
$c/= :: CreateApprovalRuleTemplate -> CreateApprovalRuleTemplate -> Bool
== :: CreateApprovalRuleTemplate -> CreateApprovalRuleTemplate -> Bool
$c== :: CreateApprovalRuleTemplate -> CreateApprovalRuleTemplate -> Bool
Prelude.Eq, ReadPrec [CreateApprovalRuleTemplate]
ReadPrec CreateApprovalRuleTemplate
Int -> ReadS CreateApprovalRuleTemplate
ReadS [CreateApprovalRuleTemplate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateApprovalRuleTemplate]
$creadListPrec :: ReadPrec [CreateApprovalRuleTemplate]
readPrec :: ReadPrec CreateApprovalRuleTemplate
$creadPrec :: ReadPrec CreateApprovalRuleTemplate
readList :: ReadS [CreateApprovalRuleTemplate]
$creadList :: ReadS [CreateApprovalRuleTemplate]
readsPrec :: Int -> ReadS CreateApprovalRuleTemplate
$creadsPrec :: Int -> ReadS CreateApprovalRuleTemplate
Prelude.Read, Int -> CreateApprovalRuleTemplate -> ShowS
[CreateApprovalRuleTemplate] -> ShowS
CreateApprovalRuleTemplate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateApprovalRuleTemplate] -> ShowS
$cshowList :: [CreateApprovalRuleTemplate] -> ShowS
show :: CreateApprovalRuleTemplate -> String
$cshow :: CreateApprovalRuleTemplate -> String
showsPrec :: Int -> CreateApprovalRuleTemplate -> ShowS
$cshowsPrec :: Int -> CreateApprovalRuleTemplate -> ShowS
Prelude.Show, forall x.
Rep CreateApprovalRuleTemplate x -> CreateApprovalRuleTemplate
forall x.
CreateApprovalRuleTemplate -> Rep CreateApprovalRuleTemplate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateApprovalRuleTemplate x -> CreateApprovalRuleTemplate
$cfrom :: forall x.
CreateApprovalRuleTemplate -> Rep CreateApprovalRuleTemplate x
Prelude.Generic)
newCreateApprovalRuleTemplate ::
Prelude.Text ->
Prelude.Text ->
CreateApprovalRuleTemplate
newCreateApprovalRuleTemplate :: Text -> Text -> CreateApprovalRuleTemplate
newCreateApprovalRuleTemplate
Text
pApprovalRuleTemplateName_
Text
pApprovalRuleTemplateContent_ =
CreateApprovalRuleTemplate'
{ $sel:approvalRuleTemplateDescription:CreateApprovalRuleTemplate' :: Maybe Text
approvalRuleTemplateDescription =
forall a. Maybe a
Prelude.Nothing,
$sel:approvalRuleTemplateName:CreateApprovalRuleTemplate' :: Text
approvalRuleTemplateName =
Text
pApprovalRuleTemplateName_,
$sel:approvalRuleTemplateContent:CreateApprovalRuleTemplate' :: Text
approvalRuleTemplateContent =
Text
pApprovalRuleTemplateContent_
}
createApprovalRuleTemplate_approvalRuleTemplateDescription :: Lens.Lens' CreateApprovalRuleTemplate (Prelude.Maybe Prelude.Text)
createApprovalRuleTemplate_approvalRuleTemplateDescription :: Lens' CreateApprovalRuleTemplate (Maybe Text)
createApprovalRuleTemplate_approvalRuleTemplateDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateApprovalRuleTemplate' {Maybe Text
approvalRuleTemplateDescription :: Maybe Text
$sel:approvalRuleTemplateDescription:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Maybe Text
approvalRuleTemplateDescription} -> Maybe Text
approvalRuleTemplateDescription) (\s :: CreateApprovalRuleTemplate
s@CreateApprovalRuleTemplate' {} Maybe Text
a -> CreateApprovalRuleTemplate
s {$sel:approvalRuleTemplateDescription:CreateApprovalRuleTemplate' :: Maybe Text
approvalRuleTemplateDescription = Maybe Text
a} :: CreateApprovalRuleTemplate)
createApprovalRuleTemplate_approvalRuleTemplateName :: Lens.Lens' CreateApprovalRuleTemplate Prelude.Text
createApprovalRuleTemplate_approvalRuleTemplateName :: Lens' CreateApprovalRuleTemplate Text
createApprovalRuleTemplate_approvalRuleTemplateName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateApprovalRuleTemplate' {Text
approvalRuleTemplateName :: Text
$sel:approvalRuleTemplateName:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Text
approvalRuleTemplateName} -> Text
approvalRuleTemplateName) (\s :: CreateApprovalRuleTemplate
s@CreateApprovalRuleTemplate' {} Text
a -> CreateApprovalRuleTemplate
s {$sel:approvalRuleTemplateName:CreateApprovalRuleTemplate' :: Text
approvalRuleTemplateName = Text
a} :: CreateApprovalRuleTemplate)
createApprovalRuleTemplate_approvalRuleTemplateContent :: Lens.Lens' CreateApprovalRuleTemplate Prelude.Text
createApprovalRuleTemplate_approvalRuleTemplateContent :: Lens' CreateApprovalRuleTemplate Text
createApprovalRuleTemplate_approvalRuleTemplateContent = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateApprovalRuleTemplate' {Text
approvalRuleTemplateContent :: Text
$sel:approvalRuleTemplateContent:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Text
approvalRuleTemplateContent} -> Text
approvalRuleTemplateContent) (\s :: CreateApprovalRuleTemplate
s@CreateApprovalRuleTemplate' {} Text
a -> CreateApprovalRuleTemplate
s {$sel:approvalRuleTemplateContent:CreateApprovalRuleTemplate' :: Text
approvalRuleTemplateContent = Text
a} :: CreateApprovalRuleTemplate)
instance Core.AWSRequest CreateApprovalRuleTemplate where
type
AWSResponse CreateApprovalRuleTemplate =
CreateApprovalRuleTemplateResponse
request :: (Service -> Service)
-> CreateApprovalRuleTemplate -> Request CreateApprovalRuleTemplate
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 CreateApprovalRuleTemplate
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateApprovalRuleTemplate)))
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 -> ApprovalRuleTemplate -> CreateApprovalRuleTemplateResponse
CreateApprovalRuleTemplateResponse'
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
"approvalRuleTemplate")
)
instance Prelude.Hashable CreateApprovalRuleTemplate where
hashWithSalt :: Int -> CreateApprovalRuleTemplate -> Int
hashWithSalt Int
_salt CreateApprovalRuleTemplate' {Maybe Text
Text
approvalRuleTemplateContent :: Text
approvalRuleTemplateName :: Text
approvalRuleTemplateDescription :: Maybe Text
$sel:approvalRuleTemplateContent:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Text
$sel:approvalRuleTemplateName:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Text
$sel:approvalRuleTemplateDescription:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
approvalRuleTemplateDescription
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
approvalRuleTemplateName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
approvalRuleTemplateContent
instance Prelude.NFData CreateApprovalRuleTemplate where
rnf :: CreateApprovalRuleTemplate -> ()
rnf CreateApprovalRuleTemplate' {Maybe Text
Text
approvalRuleTemplateContent :: Text
approvalRuleTemplateName :: Text
approvalRuleTemplateDescription :: Maybe Text
$sel:approvalRuleTemplateContent:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Text
$sel:approvalRuleTemplateName:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Text
$sel:approvalRuleTemplateDescription:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
approvalRuleTemplateDescription
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
approvalRuleTemplateName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
approvalRuleTemplateContent
instance Data.ToHeaders CreateApprovalRuleTemplate where
toHeaders :: CreateApprovalRuleTemplate -> 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.CreateApprovalRuleTemplate" ::
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 CreateApprovalRuleTemplate where
toJSON :: CreateApprovalRuleTemplate -> Value
toJSON CreateApprovalRuleTemplate' {Maybe Text
Text
approvalRuleTemplateContent :: Text
approvalRuleTemplateName :: Text
approvalRuleTemplateDescription :: Maybe Text
$sel:approvalRuleTemplateContent:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Text
$sel:approvalRuleTemplateName:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Text
$sel:approvalRuleTemplateDescription:CreateApprovalRuleTemplate' :: CreateApprovalRuleTemplate -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"approvalRuleTemplateDescription" 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 Text
approvalRuleTemplateDescription,
forall a. a -> Maybe a
Prelude.Just
( Key
"approvalRuleTemplateName"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
approvalRuleTemplateName
),
forall a. a -> Maybe a
Prelude.Just
( Key
"approvalRuleTemplateContent"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
approvalRuleTemplateContent
)
]
)
instance Data.ToPath CreateApprovalRuleTemplate where
toPath :: CreateApprovalRuleTemplate -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateApprovalRuleTemplate where
toQuery :: CreateApprovalRuleTemplate -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateApprovalRuleTemplateResponse = CreateApprovalRuleTemplateResponse'
{
CreateApprovalRuleTemplateResponse -> Int
httpStatus :: Prelude.Int,
CreateApprovalRuleTemplateResponse -> ApprovalRuleTemplate
approvalRuleTemplate :: ApprovalRuleTemplate
}
deriving (CreateApprovalRuleTemplateResponse
-> CreateApprovalRuleTemplateResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateApprovalRuleTemplateResponse
-> CreateApprovalRuleTemplateResponse -> Bool
$c/= :: CreateApprovalRuleTemplateResponse
-> CreateApprovalRuleTemplateResponse -> Bool
== :: CreateApprovalRuleTemplateResponse
-> CreateApprovalRuleTemplateResponse -> Bool
$c== :: CreateApprovalRuleTemplateResponse
-> CreateApprovalRuleTemplateResponse -> Bool
Prelude.Eq, ReadPrec [CreateApprovalRuleTemplateResponse]
ReadPrec CreateApprovalRuleTemplateResponse
Int -> ReadS CreateApprovalRuleTemplateResponse
ReadS [CreateApprovalRuleTemplateResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateApprovalRuleTemplateResponse]
$creadListPrec :: ReadPrec [CreateApprovalRuleTemplateResponse]
readPrec :: ReadPrec CreateApprovalRuleTemplateResponse
$creadPrec :: ReadPrec CreateApprovalRuleTemplateResponse
readList :: ReadS [CreateApprovalRuleTemplateResponse]
$creadList :: ReadS [CreateApprovalRuleTemplateResponse]
readsPrec :: Int -> ReadS CreateApprovalRuleTemplateResponse
$creadsPrec :: Int -> ReadS CreateApprovalRuleTemplateResponse
Prelude.Read, Int -> CreateApprovalRuleTemplateResponse -> ShowS
[CreateApprovalRuleTemplateResponse] -> ShowS
CreateApprovalRuleTemplateResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateApprovalRuleTemplateResponse] -> ShowS
$cshowList :: [CreateApprovalRuleTemplateResponse] -> ShowS
show :: CreateApprovalRuleTemplateResponse -> String
$cshow :: CreateApprovalRuleTemplateResponse -> String
showsPrec :: Int -> CreateApprovalRuleTemplateResponse -> ShowS
$cshowsPrec :: Int -> CreateApprovalRuleTemplateResponse -> ShowS
Prelude.Show, forall x.
Rep CreateApprovalRuleTemplateResponse x
-> CreateApprovalRuleTemplateResponse
forall x.
CreateApprovalRuleTemplateResponse
-> Rep CreateApprovalRuleTemplateResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateApprovalRuleTemplateResponse x
-> CreateApprovalRuleTemplateResponse
$cfrom :: forall x.
CreateApprovalRuleTemplateResponse
-> Rep CreateApprovalRuleTemplateResponse x
Prelude.Generic)
newCreateApprovalRuleTemplateResponse ::
Prelude.Int ->
ApprovalRuleTemplate ->
CreateApprovalRuleTemplateResponse
newCreateApprovalRuleTemplateResponse :: Int -> ApprovalRuleTemplate -> CreateApprovalRuleTemplateResponse
newCreateApprovalRuleTemplateResponse
Int
pHttpStatus_
ApprovalRuleTemplate
pApprovalRuleTemplate_ =
CreateApprovalRuleTemplateResponse'
{ $sel:httpStatus:CreateApprovalRuleTemplateResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:approvalRuleTemplate:CreateApprovalRuleTemplateResponse' :: ApprovalRuleTemplate
approvalRuleTemplate =
ApprovalRuleTemplate
pApprovalRuleTemplate_
}
createApprovalRuleTemplateResponse_httpStatus :: Lens.Lens' CreateApprovalRuleTemplateResponse Prelude.Int
createApprovalRuleTemplateResponse_httpStatus :: Lens' CreateApprovalRuleTemplateResponse Int
createApprovalRuleTemplateResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateApprovalRuleTemplateResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateApprovalRuleTemplateResponse' :: CreateApprovalRuleTemplateResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateApprovalRuleTemplateResponse
s@CreateApprovalRuleTemplateResponse' {} Int
a -> CreateApprovalRuleTemplateResponse
s {$sel:httpStatus:CreateApprovalRuleTemplateResponse' :: Int
httpStatus = Int
a} :: CreateApprovalRuleTemplateResponse)
createApprovalRuleTemplateResponse_approvalRuleTemplate :: Lens.Lens' CreateApprovalRuleTemplateResponse ApprovalRuleTemplate
createApprovalRuleTemplateResponse_approvalRuleTemplate :: Lens' CreateApprovalRuleTemplateResponse ApprovalRuleTemplate
createApprovalRuleTemplateResponse_approvalRuleTemplate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateApprovalRuleTemplateResponse' {ApprovalRuleTemplate
approvalRuleTemplate :: ApprovalRuleTemplate
$sel:approvalRuleTemplate:CreateApprovalRuleTemplateResponse' :: CreateApprovalRuleTemplateResponse -> ApprovalRuleTemplate
approvalRuleTemplate} -> ApprovalRuleTemplate
approvalRuleTemplate) (\s :: CreateApprovalRuleTemplateResponse
s@CreateApprovalRuleTemplateResponse' {} ApprovalRuleTemplate
a -> CreateApprovalRuleTemplateResponse
s {$sel:approvalRuleTemplate:CreateApprovalRuleTemplateResponse' :: ApprovalRuleTemplate
approvalRuleTemplate = ApprovalRuleTemplate
a} :: CreateApprovalRuleTemplateResponse)
instance
Prelude.NFData
CreateApprovalRuleTemplateResponse
where
rnf :: CreateApprovalRuleTemplateResponse -> ()
rnf CreateApprovalRuleTemplateResponse' {Int
ApprovalRuleTemplate
approvalRuleTemplate :: ApprovalRuleTemplate
httpStatus :: Int
$sel:approvalRuleTemplate:CreateApprovalRuleTemplateResponse' :: CreateApprovalRuleTemplateResponse -> ApprovalRuleTemplate
$sel:httpStatus:CreateApprovalRuleTemplateResponse' :: CreateApprovalRuleTemplateResponse -> 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 ApprovalRuleTemplate
approvalRuleTemplate