{-# 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.CloudTrail.DeleteTrail
(
DeleteTrail (..),
newDeleteTrail,
deleteTrail_name,
DeleteTrailResponse (..),
newDeleteTrailResponse,
deleteTrailResponse_httpStatus,
)
where
import Amazonka.CloudTrail.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 DeleteTrail = DeleteTrail'
{
DeleteTrail -> Text
name :: Prelude.Text
}
deriving (DeleteTrail -> DeleteTrail -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteTrail -> DeleteTrail -> Bool
$c/= :: DeleteTrail -> DeleteTrail -> Bool
== :: DeleteTrail -> DeleteTrail -> Bool
$c== :: DeleteTrail -> DeleteTrail -> Bool
Prelude.Eq, ReadPrec [DeleteTrail]
ReadPrec DeleteTrail
Int -> ReadS DeleteTrail
ReadS [DeleteTrail]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteTrail]
$creadListPrec :: ReadPrec [DeleteTrail]
readPrec :: ReadPrec DeleteTrail
$creadPrec :: ReadPrec DeleteTrail
readList :: ReadS [DeleteTrail]
$creadList :: ReadS [DeleteTrail]
readsPrec :: Int -> ReadS DeleteTrail
$creadsPrec :: Int -> ReadS DeleteTrail
Prelude.Read, Int -> DeleteTrail -> ShowS
[DeleteTrail] -> ShowS
DeleteTrail -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteTrail] -> ShowS
$cshowList :: [DeleteTrail] -> ShowS
show :: DeleteTrail -> String
$cshow :: DeleteTrail -> String
showsPrec :: Int -> DeleteTrail -> ShowS
$cshowsPrec :: Int -> DeleteTrail -> ShowS
Prelude.Show, forall x. Rep DeleteTrail x -> DeleteTrail
forall x. DeleteTrail -> Rep DeleteTrail x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteTrail x -> DeleteTrail
$cfrom :: forall x. DeleteTrail -> Rep DeleteTrail x
Prelude.Generic)
newDeleteTrail ::
Prelude.Text ->
DeleteTrail
newDeleteTrail :: Text -> DeleteTrail
newDeleteTrail Text
pName_ = DeleteTrail' {$sel:name:DeleteTrail' :: Text
name = Text
pName_}
deleteTrail_name :: Lens.Lens' DeleteTrail Prelude.Text
deleteTrail_name :: Lens' DeleteTrail Text
deleteTrail_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTrail' {Text
name :: Text
$sel:name:DeleteTrail' :: DeleteTrail -> Text
name} -> Text
name) (\s :: DeleteTrail
s@DeleteTrail' {} Text
a -> DeleteTrail
s {$sel:name:DeleteTrail' :: Text
name = Text
a} :: DeleteTrail)
instance Core.AWSRequest DeleteTrail where
type AWSResponse DeleteTrail = DeleteTrailResponse
request :: (Service -> Service) -> DeleteTrail -> Request DeleteTrail
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 DeleteTrail
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteTrail)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> DeleteTrailResponse
DeleteTrailResponse'
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))
)
instance Prelude.Hashable DeleteTrail where
hashWithSalt :: Int -> DeleteTrail -> Int
hashWithSalt Int
_salt DeleteTrail' {Text
name :: Text
$sel:name:DeleteTrail' :: DeleteTrail -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
instance Prelude.NFData DeleteTrail where
rnf :: DeleteTrail -> ()
rnf DeleteTrail' {Text
name :: Text
$sel:name:DeleteTrail' :: DeleteTrail -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
name
instance Data.ToHeaders DeleteTrail where
toHeaders :: DeleteTrail -> 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
"com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.DeleteTrail" ::
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 DeleteTrail where
toJSON :: DeleteTrail -> Value
toJSON DeleteTrail' {Text
name :: Text
$sel:name:DeleteTrail' :: DeleteTrail -> 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 DeleteTrail where
toPath :: DeleteTrail -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteTrail where
toQuery :: DeleteTrail -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteTrailResponse = DeleteTrailResponse'
{
DeleteTrailResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DeleteTrailResponse -> DeleteTrailResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteTrailResponse -> DeleteTrailResponse -> Bool
$c/= :: DeleteTrailResponse -> DeleteTrailResponse -> Bool
== :: DeleteTrailResponse -> DeleteTrailResponse -> Bool
$c== :: DeleteTrailResponse -> DeleteTrailResponse -> Bool
Prelude.Eq, ReadPrec [DeleteTrailResponse]
ReadPrec DeleteTrailResponse
Int -> ReadS DeleteTrailResponse
ReadS [DeleteTrailResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteTrailResponse]
$creadListPrec :: ReadPrec [DeleteTrailResponse]
readPrec :: ReadPrec DeleteTrailResponse
$creadPrec :: ReadPrec DeleteTrailResponse
readList :: ReadS [DeleteTrailResponse]
$creadList :: ReadS [DeleteTrailResponse]
readsPrec :: Int -> ReadS DeleteTrailResponse
$creadsPrec :: Int -> ReadS DeleteTrailResponse
Prelude.Read, Int -> DeleteTrailResponse -> ShowS
[DeleteTrailResponse] -> ShowS
DeleteTrailResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteTrailResponse] -> ShowS
$cshowList :: [DeleteTrailResponse] -> ShowS
show :: DeleteTrailResponse -> String
$cshow :: DeleteTrailResponse -> String
showsPrec :: Int -> DeleteTrailResponse -> ShowS
$cshowsPrec :: Int -> DeleteTrailResponse -> ShowS
Prelude.Show, forall x. Rep DeleteTrailResponse x -> DeleteTrailResponse
forall x. DeleteTrailResponse -> Rep DeleteTrailResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteTrailResponse x -> DeleteTrailResponse
$cfrom :: forall x. DeleteTrailResponse -> Rep DeleteTrailResponse x
Prelude.Generic)
newDeleteTrailResponse ::
Prelude.Int ->
DeleteTrailResponse
newDeleteTrailResponse :: Int -> DeleteTrailResponse
newDeleteTrailResponse Int
pHttpStatus_ =
DeleteTrailResponse' {$sel:httpStatus:DeleteTrailResponse' :: Int
httpStatus = Int
pHttpStatus_}
deleteTrailResponse_httpStatus :: Lens.Lens' DeleteTrailResponse Prelude.Int
deleteTrailResponse_httpStatus :: Lens' DeleteTrailResponse Int
deleteTrailResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteTrailResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteTrailResponse' :: DeleteTrailResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteTrailResponse
s@DeleteTrailResponse' {} Int
a -> DeleteTrailResponse
s {$sel:httpStatus:DeleteTrailResponse' :: Int
httpStatus = Int
a} :: DeleteTrailResponse)
instance Prelude.NFData DeleteTrailResponse where
rnf :: DeleteTrailResponse -> ()
rnf DeleteTrailResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteTrailResponse' :: DeleteTrailResponse -> Int
..} = forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus