{-# 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.CloudHSM.DeleteHapg
(
DeleteHapg (..),
newDeleteHapg,
deleteHapg_hapgArn,
DeleteHapgResponse (..),
newDeleteHapgResponse,
deleteHapgResponse_httpStatus,
deleteHapgResponse_status,
)
where
import Amazonka.CloudHSM.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 DeleteHapg = DeleteHapg'
{
DeleteHapg -> Text
hapgArn :: Prelude.Text
}
deriving (DeleteHapg -> DeleteHapg -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteHapg -> DeleteHapg -> Bool
$c/= :: DeleteHapg -> DeleteHapg -> Bool
== :: DeleteHapg -> DeleteHapg -> Bool
$c== :: DeleteHapg -> DeleteHapg -> Bool
Prelude.Eq, ReadPrec [DeleteHapg]
ReadPrec DeleteHapg
Int -> ReadS DeleteHapg
ReadS [DeleteHapg]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteHapg]
$creadListPrec :: ReadPrec [DeleteHapg]
readPrec :: ReadPrec DeleteHapg
$creadPrec :: ReadPrec DeleteHapg
readList :: ReadS [DeleteHapg]
$creadList :: ReadS [DeleteHapg]
readsPrec :: Int -> ReadS DeleteHapg
$creadsPrec :: Int -> ReadS DeleteHapg
Prelude.Read, Int -> DeleteHapg -> ShowS
[DeleteHapg] -> ShowS
DeleteHapg -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteHapg] -> ShowS
$cshowList :: [DeleteHapg] -> ShowS
show :: DeleteHapg -> String
$cshow :: DeleteHapg -> String
showsPrec :: Int -> DeleteHapg -> ShowS
$cshowsPrec :: Int -> DeleteHapg -> ShowS
Prelude.Show, forall x. Rep DeleteHapg x -> DeleteHapg
forall x. DeleteHapg -> Rep DeleteHapg x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteHapg x -> DeleteHapg
$cfrom :: forall x. DeleteHapg -> Rep DeleteHapg x
Prelude.Generic)
newDeleteHapg ::
Prelude.Text ->
DeleteHapg
newDeleteHapg :: Text -> DeleteHapg
newDeleteHapg Text
pHapgArn_ =
DeleteHapg' {$sel:hapgArn:DeleteHapg' :: Text
hapgArn = Text
pHapgArn_}
deleteHapg_hapgArn :: Lens.Lens' DeleteHapg Prelude.Text
deleteHapg_hapgArn :: Lens' DeleteHapg Text
deleteHapg_hapgArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteHapg' {Text
hapgArn :: Text
$sel:hapgArn:DeleteHapg' :: DeleteHapg -> Text
hapgArn} -> Text
hapgArn) (\s :: DeleteHapg
s@DeleteHapg' {} Text
a -> DeleteHapg
s {$sel:hapgArn:DeleteHapg' :: Text
hapgArn = Text
a} :: DeleteHapg)
instance Core.AWSRequest DeleteHapg where
type AWSResponse DeleteHapg = DeleteHapgResponse
request :: (Service -> Service) -> DeleteHapg -> Request DeleteHapg
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 DeleteHapg
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteHapg)))
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 -> Text -> DeleteHapgResponse
DeleteHapgResponse'
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
"Status")
)
instance Prelude.Hashable DeleteHapg where
hashWithSalt :: Int -> DeleteHapg -> Int
hashWithSalt Int
_salt DeleteHapg' {Text
hapgArn :: Text
$sel:hapgArn:DeleteHapg' :: DeleteHapg -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
hapgArn
instance Prelude.NFData DeleteHapg where
rnf :: DeleteHapg -> ()
rnf DeleteHapg' {Text
hapgArn :: Text
$sel:hapgArn:DeleteHapg' :: DeleteHapg -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
hapgArn
instance Data.ToHeaders DeleteHapg where
toHeaders :: DeleteHapg -> 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
"CloudHsmFrontendService.DeleteHapg" ::
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 DeleteHapg where
toJSON :: DeleteHapg -> Value
toJSON DeleteHapg' {Text
hapgArn :: Text
$sel:hapgArn:DeleteHapg' :: DeleteHapg -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"HapgArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
hapgArn)]
)
instance Data.ToPath DeleteHapg where
toPath :: DeleteHapg -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteHapg where
toQuery :: DeleteHapg -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteHapgResponse = DeleteHapgResponse'
{
DeleteHapgResponse -> Int
httpStatus :: Prelude.Int,
DeleteHapgResponse -> Text
status :: Prelude.Text
}
deriving (DeleteHapgResponse -> DeleteHapgResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteHapgResponse -> DeleteHapgResponse -> Bool
$c/= :: DeleteHapgResponse -> DeleteHapgResponse -> Bool
== :: DeleteHapgResponse -> DeleteHapgResponse -> Bool
$c== :: DeleteHapgResponse -> DeleteHapgResponse -> Bool
Prelude.Eq, ReadPrec [DeleteHapgResponse]
ReadPrec DeleteHapgResponse
Int -> ReadS DeleteHapgResponse
ReadS [DeleteHapgResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteHapgResponse]
$creadListPrec :: ReadPrec [DeleteHapgResponse]
readPrec :: ReadPrec DeleteHapgResponse
$creadPrec :: ReadPrec DeleteHapgResponse
readList :: ReadS [DeleteHapgResponse]
$creadList :: ReadS [DeleteHapgResponse]
readsPrec :: Int -> ReadS DeleteHapgResponse
$creadsPrec :: Int -> ReadS DeleteHapgResponse
Prelude.Read, Int -> DeleteHapgResponse -> ShowS
[DeleteHapgResponse] -> ShowS
DeleteHapgResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteHapgResponse] -> ShowS
$cshowList :: [DeleteHapgResponse] -> ShowS
show :: DeleteHapgResponse -> String
$cshow :: DeleteHapgResponse -> String
showsPrec :: Int -> DeleteHapgResponse -> ShowS
$cshowsPrec :: Int -> DeleteHapgResponse -> ShowS
Prelude.Show, forall x. Rep DeleteHapgResponse x -> DeleteHapgResponse
forall x. DeleteHapgResponse -> Rep DeleteHapgResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteHapgResponse x -> DeleteHapgResponse
$cfrom :: forall x. DeleteHapgResponse -> Rep DeleteHapgResponse x
Prelude.Generic)
newDeleteHapgResponse ::
Prelude.Int ->
Prelude.Text ->
DeleteHapgResponse
newDeleteHapgResponse :: Int -> Text -> DeleteHapgResponse
newDeleteHapgResponse Int
pHttpStatus_ Text
pStatus_ =
DeleteHapgResponse'
{ $sel:httpStatus:DeleteHapgResponse' :: Int
httpStatus = Int
pHttpStatus_,
$sel:status:DeleteHapgResponse' :: Text
status = Text
pStatus_
}
deleteHapgResponse_httpStatus :: Lens.Lens' DeleteHapgResponse Prelude.Int
deleteHapgResponse_httpStatus :: Lens' DeleteHapgResponse Int
deleteHapgResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteHapgResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteHapgResponse' :: DeleteHapgResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteHapgResponse
s@DeleteHapgResponse' {} Int
a -> DeleteHapgResponse
s {$sel:httpStatus:DeleteHapgResponse' :: Int
httpStatus = Int
a} :: DeleteHapgResponse)
deleteHapgResponse_status :: Lens.Lens' DeleteHapgResponse Prelude.Text
deleteHapgResponse_status :: Lens' DeleteHapgResponse Text
deleteHapgResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteHapgResponse' {Text
status :: Text
$sel:status:DeleteHapgResponse' :: DeleteHapgResponse -> Text
status} -> Text
status) (\s :: DeleteHapgResponse
s@DeleteHapgResponse' {} Text
a -> DeleteHapgResponse
s {$sel:status:DeleteHapgResponse' :: Text
status = Text
a} :: DeleteHapgResponse)
instance Prelude.NFData DeleteHapgResponse where
rnf :: DeleteHapgResponse -> ()
rnf DeleteHapgResponse' {Int
Text
status :: Text
httpStatus :: Int
$sel:status:DeleteHapgResponse' :: DeleteHapgResponse -> Text
$sel:httpStatus:DeleteHapgResponse' :: DeleteHapgResponse -> 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 Text
status