{-# 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.CodePipeline.CreatePipeline
(
CreatePipeline (..),
newCreatePipeline,
createPipeline_tags,
createPipeline_pipeline,
CreatePipelineResponse (..),
newCreatePipelineResponse,
createPipelineResponse_pipeline,
createPipelineResponse_tags,
createPipelineResponse_httpStatus,
)
where
import Amazonka.CodePipeline.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 CreatePipeline = CreatePipeline'
{
CreatePipeline -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
CreatePipeline -> PipelineDeclaration
pipeline :: PipelineDeclaration
}
deriving (CreatePipeline -> CreatePipeline -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreatePipeline -> CreatePipeline -> Bool
$c/= :: CreatePipeline -> CreatePipeline -> Bool
== :: CreatePipeline -> CreatePipeline -> Bool
$c== :: CreatePipeline -> CreatePipeline -> Bool
Prelude.Eq, ReadPrec [CreatePipeline]
ReadPrec CreatePipeline
Int -> ReadS CreatePipeline
ReadS [CreatePipeline]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreatePipeline]
$creadListPrec :: ReadPrec [CreatePipeline]
readPrec :: ReadPrec CreatePipeline
$creadPrec :: ReadPrec CreatePipeline
readList :: ReadS [CreatePipeline]
$creadList :: ReadS [CreatePipeline]
readsPrec :: Int -> ReadS CreatePipeline
$creadsPrec :: Int -> ReadS CreatePipeline
Prelude.Read, Int -> CreatePipeline -> ShowS
[CreatePipeline] -> ShowS
CreatePipeline -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreatePipeline] -> ShowS
$cshowList :: [CreatePipeline] -> ShowS
show :: CreatePipeline -> String
$cshow :: CreatePipeline -> String
showsPrec :: Int -> CreatePipeline -> ShowS
$cshowsPrec :: Int -> CreatePipeline -> ShowS
Prelude.Show, forall x. Rep CreatePipeline x -> CreatePipeline
forall x. CreatePipeline -> Rep CreatePipeline x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreatePipeline x -> CreatePipeline
$cfrom :: forall x. CreatePipeline -> Rep CreatePipeline x
Prelude.Generic)
newCreatePipeline ::
PipelineDeclaration ->
CreatePipeline
newCreatePipeline :: PipelineDeclaration -> CreatePipeline
newCreatePipeline PipelineDeclaration
pPipeline_ =
CreatePipeline'
{ $sel:tags:CreatePipeline' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:pipeline:CreatePipeline' :: PipelineDeclaration
pipeline = PipelineDeclaration
pPipeline_
}
createPipeline_tags :: Lens.Lens' CreatePipeline (Prelude.Maybe [Tag])
createPipeline_tags :: Lens' CreatePipeline (Maybe [Tag])
createPipeline_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePipeline' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:CreatePipeline' :: CreatePipeline -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: CreatePipeline
s@CreatePipeline' {} Maybe [Tag]
a -> CreatePipeline
s {$sel:tags:CreatePipeline' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: CreatePipeline) 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
createPipeline_pipeline :: Lens.Lens' CreatePipeline PipelineDeclaration
createPipeline_pipeline :: Lens' CreatePipeline PipelineDeclaration
createPipeline_pipeline = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePipeline' {PipelineDeclaration
pipeline :: PipelineDeclaration
$sel:pipeline:CreatePipeline' :: CreatePipeline -> PipelineDeclaration
pipeline} -> PipelineDeclaration
pipeline) (\s :: CreatePipeline
s@CreatePipeline' {} PipelineDeclaration
a -> CreatePipeline
s {$sel:pipeline:CreatePipeline' :: PipelineDeclaration
pipeline = PipelineDeclaration
a} :: CreatePipeline)
instance Core.AWSRequest CreatePipeline where
type
AWSResponse CreatePipeline =
CreatePipelineResponse
request :: (Service -> Service) -> CreatePipeline -> Request CreatePipeline
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 CreatePipeline
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreatePipeline)))
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 PipelineDeclaration
-> Maybe [Tag] -> Int -> CreatePipelineResponse
CreatePipelineResponse'
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
"pipeline")
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
"tags" 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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable CreatePipeline where
hashWithSalt :: Int -> CreatePipeline -> Int
hashWithSalt Int
_salt CreatePipeline' {Maybe [Tag]
PipelineDeclaration
pipeline :: PipelineDeclaration
tags :: Maybe [Tag]
$sel:pipeline:CreatePipeline' :: CreatePipeline -> PipelineDeclaration
$sel:tags:CreatePipeline' :: CreatePipeline -> Maybe [Tag]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` PipelineDeclaration
pipeline
instance Prelude.NFData CreatePipeline where
rnf :: CreatePipeline -> ()
rnf CreatePipeline' {Maybe [Tag]
PipelineDeclaration
pipeline :: PipelineDeclaration
tags :: Maybe [Tag]
$sel:pipeline:CreatePipeline' :: CreatePipeline -> PipelineDeclaration
$sel:tags:CreatePipeline' :: CreatePipeline -> Maybe [Tag]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf PipelineDeclaration
pipeline
instance Data.ToHeaders CreatePipeline where
toHeaders :: CreatePipeline -> 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
"CodePipeline_20150709.CreatePipeline" ::
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 CreatePipeline where
toJSON :: CreatePipeline -> Value
toJSON CreatePipeline' {Maybe [Tag]
PipelineDeclaration
pipeline :: PipelineDeclaration
tags :: Maybe [Tag]
$sel:pipeline:CreatePipeline' :: CreatePipeline -> PipelineDeclaration
$sel:tags:CreatePipeline' :: CreatePipeline -> Maybe [Tag]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"tags" 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 [Tag]
tags,
forall a. a -> Maybe a
Prelude.Just (Key
"pipeline" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= PipelineDeclaration
pipeline)
]
)
instance Data.ToPath CreatePipeline where
toPath :: CreatePipeline -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreatePipeline where
toQuery :: CreatePipeline -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreatePipelineResponse = CreatePipelineResponse'
{
CreatePipelineResponse -> Maybe PipelineDeclaration
pipeline :: Prelude.Maybe PipelineDeclaration,
CreatePipelineResponse -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
CreatePipelineResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreatePipelineResponse -> CreatePipelineResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreatePipelineResponse -> CreatePipelineResponse -> Bool
$c/= :: CreatePipelineResponse -> CreatePipelineResponse -> Bool
== :: CreatePipelineResponse -> CreatePipelineResponse -> Bool
$c== :: CreatePipelineResponse -> CreatePipelineResponse -> Bool
Prelude.Eq, ReadPrec [CreatePipelineResponse]
ReadPrec CreatePipelineResponse
Int -> ReadS CreatePipelineResponse
ReadS [CreatePipelineResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreatePipelineResponse]
$creadListPrec :: ReadPrec [CreatePipelineResponse]
readPrec :: ReadPrec CreatePipelineResponse
$creadPrec :: ReadPrec CreatePipelineResponse
readList :: ReadS [CreatePipelineResponse]
$creadList :: ReadS [CreatePipelineResponse]
readsPrec :: Int -> ReadS CreatePipelineResponse
$creadsPrec :: Int -> ReadS CreatePipelineResponse
Prelude.Read, Int -> CreatePipelineResponse -> ShowS
[CreatePipelineResponse] -> ShowS
CreatePipelineResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreatePipelineResponse] -> ShowS
$cshowList :: [CreatePipelineResponse] -> ShowS
show :: CreatePipelineResponse -> String
$cshow :: CreatePipelineResponse -> String
showsPrec :: Int -> CreatePipelineResponse -> ShowS
$cshowsPrec :: Int -> CreatePipelineResponse -> ShowS
Prelude.Show, forall x. Rep CreatePipelineResponse x -> CreatePipelineResponse
forall x. CreatePipelineResponse -> Rep CreatePipelineResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreatePipelineResponse x -> CreatePipelineResponse
$cfrom :: forall x. CreatePipelineResponse -> Rep CreatePipelineResponse x
Prelude.Generic)
newCreatePipelineResponse ::
Prelude.Int ->
CreatePipelineResponse
newCreatePipelineResponse :: Int -> CreatePipelineResponse
newCreatePipelineResponse Int
pHttpStatus_ =
CreatePipelineResponse'
{ $sel:pipeline:CreatePipelineResponse' :: Maybe PipelineDeclaration
pipeline = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreatePipelineResponse' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreatePipelineResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createPipelineResponse_pipeline :: Lens.Lens' CreatePipelineResponse (Prelude.Maybe PipelineDeclaration)
createPipelineResponse_pipeline :: Lens' CreatePipelineResponse (Maybe PipelineDeclaration)
createPipelineResponse_pipeline = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePipelineResponse' {Maybe PipelineDeclaration
pipeline :: Maybe PipelineDeclaration
$sel:pipeline:CreatePipelineResponse' :: CreatePipelineResponse -> Maybe PipelineDeclaration
pipeline} -> Maybe PipelineDeclaration
pipeline) (\s :: CreatePipelineResponse
s@CreatePipelineResponse' {} Maybe PipelineDeclaration
a -> CreatePipelineResponse
s {$sel:pipeline:CreatePipelineResponse' :: Maybe PipelineDeclaration
pipeline = Maybe PipelineDeclaration
a} :: CreatePipelineResponse)
createPipelineResponse_tags :: Lens.Lens' CreatePipelineResponse (Prelude.Maybe [Tag])
createPipelineResponse_tags :: Lens' CreatePipelineResponse (Maybe [Tag])
createPipelineResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePipelineResponse' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:CreatePipelineResponse' :: CreatePipelineResponse -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: CreatePipelineResponse
s@CreatePipelineResponse' {} Maybe [Tag]
a -> CreatePipelineResponse
s {$sel:tags:CreatePipelineResponse' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: CreatePipelineResponse) 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
createPipelineResponse_httpStatus :: Lens.Lens' CreatePipelineResponse Prelude.Int
createPipelineResponse_httpStatus :: Lens' CreatePipelineResponse Int
createPipelineResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreatePipelineResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreatePipelineResponse' :: CreatePipelineResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreatePipelineResponse
s@CreatePipelineResponse' {} Int
a -> CreatePipelineResponse
s {$sel:httpStatus:CreatePipelineResponse' :: Int
httpStatus = Int
a} :: CreatePipelineResponse)
instance Prelude.NFData CreatePipelineResponse where
rnf :: CreatePipelineResponse -> ()
rnf CreatePipelineResponse' {Int
Maybe [Tag]
Maybe PipelineDeclaration
httpStatus :: Int
tags :: Maybe [Tag]
pipeline :: Maybe PipelineDeclaration
$sel:httpStatus:CreatePipelineResponse' :: CreatePipelineResponse -> Int
$sel:tags:CreatePipelineResponse' :: CreatePipelineResponse -> Maybe [Tag]
$sel:pipeline:CreatePipelineResponse' :: CreatePipelineResponse -> Maybe PipelineDeclaration
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe PipelineDeclaration
pipeline
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus