{-# 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.Proton.DeleteServiceTemplate
(
DeleteServiceTemplate (..),
newDeleteServiceTemplate,
deleteServiceTemplate_name,
DeleteServiceTemplateResponse (..),
newDeleteServiceTemplateResponse,
deleteServiceTemplateResponse_serviceTemplate,
deleteServiceTemplateResponse_httpStatus,
)
where
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 Amazonka.Proton.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteServiceTemplate = DeleteServiceTemplate'
{
DeleteServiceTemplate -> Text
name :: Prelude.Text
}
deriving (DeleteServiceTemplate -> DeleteServiceTemplate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteServiceTemplate -> DeleteServiceTemplate -> Bool
$c/= :: DeleteServiceTemplate -> DeleteServiceTemplate -> Bool
== :: DeleteServiceTemplate -> DeleteServiceTemplate -> Bool
$c== :: DeleteServiceTemplate -> DeleteServiceTemplate -> Bool
Prelude.Eq, ReadPrec [DeleteServiceTemplate]
ReadPrec DeleteServiceTemplate
Int -> ReadS DeleteServiceTemplate
ReadS [DeleteServiceTemplate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteServiceTemplate]
$creadListPrec :: ReadPrec [DeleteServiceTemplate]
readPrec :: ReadPrec DeleteServiceTemplate
$creadPrec :: ReadPrec DeleteServiceTemplate
readList :: ReadS [DeleteServiceTemplate]
$creadList :: ReadS [DeleteServiceTemplate]
readsPrec :: Int -> ReadS DeleteServiceTemplate
$creadsPrec :: Int -> ReadS DeleteServiceTemplate
Prelude.Read, Int -> DeleteServiceTemplate -> ShowS
[DeleteServiceTemplate] -> ShowS
DeleteServiceTemplate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteServiceTemplate] -> ShowS
$cshowList :: [DeleteServiceTemplate] -> ShowS
show :: DeleteServiceTemplate -> String
$cshow :: DeleteServiceTemplate -> String
showsPrec :: Int -> DeleteServiceTemplate -> ShowS
$cshowsPrec :: Int -> DeleteServiceTemplate -> ShowS
Prelude.Show, forall x. Rep DeleteServiceTemplate x -> DeleteServiceTemplate
forall x. DeleteServiceTemplate -> Rep DeleteServiceTemplate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteServiceTemplate x -> DeleteServiceTemplate
$cfrom :: forall x. DeleteServiceTemplate -> Rep DeleteServiceTemplate x
Prelude.Generic)
newDeleteServiceTemplate ::
Prelude.Text ->
DeleteServiceTemplate
newDeleteServiceTemplate :: Text -> DeleteServiceTemplate
newDeleteServiceTemplate Text
pName_ =
DeleteServiceTemplate' {$sel:name:DeleteServiceTemplate' :: Text
name = Text
pName_}
deleteServiceTemplate_name :: Lens.Lens' DeleteServiceTemplate Prelude.Text
deleteServiceTemplate_name :: Lens' DeleteServiceTemplate Text
deleteServiceTemplate_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteServiceTemplate' {Text
name :: Text
$sel:name:DeleteServiceTemplate' :: DeleteServiceTemplate -> Text
name} -> Text
name) (\s :: DeleteServiceTemplate
s@DeleteServiceTemplate' {} Text
a -> DeleteServiceTemplate
s {$sel:name:DeleteServiceTemplate' :: Text
name = Text
a} :: DeleteServiceTemplate)
instance Core.AWSRequest DeleteServiceTemplate where
type
AWSResponse DeleteServiceTemplate =
DeleteServiceTemplateResponse
request :: (Service -> Service)
-> DeleteServiceTemplate -> Request DeleteServiceTemplate
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 DeleteServiceTemplate
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteServiceTemplate)))
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 ServiceTemplate -> Int -> DeleteServiceTemplateResponse
DeleteServiceTemplateResponse'
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
"serviceTemplate")
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 DeleteServiceTemplate where
hashWithSalt :: Int -> DeleteServiceTemplate -> Int
hashWithSalt Int
_salt DeleteServiceTemplate' {Text
name :: Text
$sel:name:DeleteServiceTemplate' :: DeleteServiceTemplate -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
instance Prelude.NFData DeleteServiceTemplate where
rnf :: DeleteServiceTemplate -> ()
rnf DeleteServiceTemplate' {Text
name :: Text
$sel:name:DeleteServiceTemplate' :: DeleteServiceTemplate -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
name
instance Data.ToHeaders DeleteServiceTemplate where
toHeaders :: DeleteServiceTemplate -> 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
"AwsProton20200720.DeleteServiceTemplate" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DeleteServiceTemplate where
toJSON :: DeleteServiceTemplate -> Value
toJSON DeleteServiceTemplate' {Text
name :: Text
$sel:name:DeleteServiceTemplate' :: DeleteServiceTemplate -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name)]
)
instance Data.ToPath DeleteServiceTemplate where
toPath :: DeleteServiceTemplate -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteServiceTemplate where
toQuery :: DeleteServiceTemplate -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteServiceTemplateResponse = DeleteServiceTemplateResponse'
{
DeleteServiceTemplateResponse -> Maybe ServiceTemplate
serviceTemplate :: Prelude.Maybe ServiceTemplate,
DeleteServiceTemplateResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteServiceTemplateResponse
-> DeleteServiceTemplateResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteServiceTemplateResponse
-> DeleteServiceTemplateResponse -> Bool
$c/= :: DeleteServiceTemplateResponse
-> DeleteServiceTemplateResponse -> Bool
== :: DeleteServiceTemplateResponse
-> DeleteServiceTemplateResponse -> Bool
$c== :: DeleteServiceTemplateResponse
-> DeleteServiceTemplateResponse -> Bool
Prelude.Eq, Int -> DeleteServiceTemplateResponse -> ShowS
[DeleteServiceTemplateResponse] -> ShowS
DeleteServiceTemplateResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteServiceTemplateResponse] -> ShowS
$cshowList :: [DeleteServiceTemplateResponse] -> ShowS
show :: DeleteServiceTemplateResponse -> String
$cshow :: DeleteServiceTemplateResponse -> String
showsPrec :: Int -> DeleteServiceTemplateResponse -> ShowS
$cshowsPrec :: Int -> DeleteServiceTemplateResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteServiceTemplateResponse x
-> DeleteServiceTemplateResponse
forall x.
DeleteServiceTemplateResponse
-> Rep DeleteServiceTemplateResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteServiceTemplateResponse x
-> DeleteServiceTemplateResponse
$cfrom :: forall x.
DeleteServiceTemplateResponse
-> Rep DeleteServiceTemplateResponse x
Prelude.Generic)
newDeleteServiceTemplateResponse ::
Prelude.Int ->
DeleteServiceTemplateResponse
newDeleteServiceTemplateResponse :: Int -> DeleteServiceTemplateResponse
newDeleteServiceTemplateResponse Int
pHttpStatus_ =
DeleteServiceTemplateResponse'
{ $sel:serviceTemplate:DeleteServiceTemplateResponse' :: Maybe ServiceTemplate
serviceTemplate =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DeleteServiceTemplateResponse' :: Int
httpStatus = Int
pHttpStatus_
}
deleteServiceTemplateResponse_serviceTemplate :: Lens.Lens' DeleteServiceTemplateResponse (Prelude.Maybe ServiceTemplate)
deleteServiceTemplateResponse_serviceTemplate :: Lens' DeleteServiceTemplateResponse (Maybe ServiceTemplate)
deleteServiceTemplateResponse_serviceTemplate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteServiceTemplateResponse' {Maybe ServiceTemplate
serviceTemplate :: Maybe ServiceTemplate
$sel:serviceTemplate:DeleteServiceTemplateResponse' :: DeleteServiceTemplateResponse -> Maybe ServiceTemplate
serviceTemplate} -> Maybe ServiceTemplate
serviceTemplate) (\s :: DeleteServiceTemplateResponse
s@DeleteServiceTemplateResponse' {} Maybe ServiceTemplate
a -> DeleteServiceTemplateResponse
s {$sel:serviceTemplate:DeleteServiceTemplateResponse' :: Maybe ServiceTemplate
serviceTemplate = Maybe ServiceTemplate
a} :: DeleteServiceTemplateResponse)
deleteServiceTemplateResponse_httpStatus :: Lens.Lens' DeleteServiceTemplateResponse Prelude.Int
deleteServiceTemplateResponse_httpStatus :: Lens' DeleteServiceTemplateResponse Int
deleteServiceTemplateResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteServiceTemplateResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteServiceTemplateResponse' :: DeleteServiceTemplateResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteServiceTemplateResponse
s@DeleteServiceTemplateResponse' {} Int
a -> DeleteServiceTemplateResponse
s {$sel:httpStatus:DeleteServiceTemplateResponse' :: Int
httpStatus = Int
a} :: DeleteServiceTemplateResponse)
instance Prelude.NFData DeleteServiceTemplateResponse where
rnf :: DeleteServiceTemplateResponse -> ()
rnf DeleteServiceTemplateResponse' {Int
Maybe ServiceTemplate
httpStatus :: Int
serviceTemplate :: Maybe ServiceTemplate
$sel:httpStatus:DeleteServiceTemplateResponse' :: DeleteServiceTemplateResponse -> Int
$sel:serviceTemplate:DeleteServiceTemplateResponse' :: DeleteServiceTemplateResponse -> Maybe ServiceTemplate
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ServiceTemplate
serviceTemplate
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus